| 
UID1821精华积分3872威望 点宅币 个贡献 次宅之契约 份最后登录1970-1-1在线时间 小时 
 | 
 
 发表于 2019-7-10 22:41:19
|
显示全部楼层 
| 
本帖最后由 Ayala 于 2019-7-10 23:32 编辑 
 函数整体应该是十进制字符串处理成二进制字符串 不过vb可以很“神奇”的自动把"1"转换为 byval 1
 传递的参数都已经是long了 用字典处理会不会更快些
 "0000","0001","0010","0011","0100","0101","0110","0111",_
 "1000","1001","1010","1011","1100","1101","1110","1111"
 定义16个就够了
 /Fo输出下asm看看
 
 复制代码
TITLE        C:\Users\Administrator\Desktop\Form1.frm
        .386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT        SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT        ENDS
_DATA        SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA        ENDS
CONST        SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST        ENDS
_BSS        SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS        ENDS
_TLS        SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS        ENDS
text$1        SEGMENT PARA USE32 PUBLIC ''
text$1        ENDS
;        COMDAT ?Dec2Bin@Form1@@AAGXXZ
text$1        SEGMENT PARA USE32 PUBLIC ''
text$1        ENDS
;        COMDAT ?Form_Load@Form1@@AAGXXZ
text$1        SEGMENT PARA USE32 PUBLIC ''
text$1        ENDS
FLAT        GROUP _DATA, CONST, _BSS
        ASSUME        CS: FLAT, DS: FLAT, SS: FLAT
endif
PUBLIC        ?Dec2Bin@Form1@@AAGXXZ                                ; Form1::Dec2Bin
EXTRN        __imp____vbaRedim:NEAR
EXTRN        __imp____vbaGenerateBoundsError:NEAR
EXTRN        __imp_@__vbaUI1I2:NEAR
EXTRN        __imp_@__vbaStrMove:NEAR
EXTRN        __imp____vbaStrVarCopy:NEAR
EXTRN        __imp_@__vbaFreeStr:NEAR
EXTRN        __imp____vbaAryDestruct:NEAR
EXTRN        ___vbaExceptHandler:NEAR
EXTRN        __except_list:DWORD
;        COMDAT CONST
; File C:\Users\Administrator\Desktop\Form1.frm
CONST        SEGMENT
$S33        DB        0bH, 00H
        DB        08H, 00H
        DD        FLAT:$L32
        DD        FLAT:$L30
        DD        FLAT:$L31
CONST        ENDS
;        COMDAT ?Dec2Bin@Form1@@AAGXXZ
text$1        SEGMENT
_Me$ = 8
_Dec2Bin$ = 16
_Num$ = 12
_Result$ = -32
_Dec2Bin$ = -36
_unnamed_var1$ = -52
__$SEHRec$ = -20
?Dec2Bin@Form1@@AAGXXZ PROC NEAR                        ; Form1::Dec2Bin, COMDAT
; File C:\Users\Administrator\Desktop\Form1.frm
; Line 18
        push        ebp
        mov        ebp, esp
        sub        esp, 12                                        ; 0000000cH
        push        OFFSET FLAT:___vbaExceptHandler
        mov        eax, DWORD PTR fs:__except_list
        push        eax
        mov        DWORD PTR fs:__except_list, esp
        sub        esp, 44                                        ; 0000002cH
        push        ebx
        push        esi
        push        edi
        mov        DWORD PTR __$SEHRec$[ebp+8], esp
        mov        DWORD PTR __$SEHRec$[ebp+12], OFFSET FLAT:$S33
        xor        esi, esi
        mov        DWORD PTR __$SEHRec$[ebp+16], esi
        mov        eax, DWORD PTR _Me$[ebp]
        push        eax
        mov        ecx, DWORD PTR [eax]
        call        DWORD PTR [ecx+4]
        mov        edx, DWORD PTR _Dec2Bin$[ebp]
; Line 20
        push        esi
        push        63                                        ; 0000003fH
        push        1
        lea        eax, DWORD PTR _Result$[ebp]
        push        17                                        ; 00000011H
        push        eax
        push        1
        push        128                                        ; 00000080H
        mov        DWORD PTR _Result$[ebp], esi
        mov        DWORD PTR _Dec2Bin$[ebp], esi
        mov        DWORD PTR _unnamed_var1$[ebp], esi
        mov        DWORD PTR [edx], esi
        call        DWORD PTR __imp____vbaRedim
; Line 22
        mov        al, BYTE PTR _Num$[ebp]
        add        esp, 28                                        ; 0000001cH
        test        al, 1
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L35
        cmp        eax, esi
        je        SHORT $L141
        cmp        WORD PTR [eax], 1
        jne        SHORT $L141
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        ebx, DWORD PTR __imp____vbaGenerateBoundsError
        mov        esi, 62                                        ; 0000003eH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L144
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L408
$L141:
        mov        ebx, DWORD PTR __imp____vbaGenerateBoundsError
        call        ebx
        mov        esi, eax
$L144:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L408
$L35:
        cmp        eax, esi
        je        SHORT $L145
        cmp        WORD PTR [eax], 1
        jne        SHORT $L145
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        ebx, DWORD PTR __imp____vbaGenerateBoundsError
        mov        esi, 62                                        ; 0000003eH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L148
        call        ebx
        jmp        SHORT $L148
$L145:
        mov        ebx, DWORD PTR __imp____vbaGenerateBoundsError
        call        ebx
        mov        esi, eax
$L148:
        mov        ecx, 48                                        ; 00000030H
$L408:
        mov        edi, DWORD PTR __imp_@__vbaUI1I2
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 23
        mov        al, BYTE PTR _Num$[ebp]
        test        al, 2
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L39
        test        eax, eax
        je        SHORT $L149
        cmp        WORD PTR [eax], 1
        jne        SHORT $L149
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 60                                        ; 0000003cH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L152
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L409
$L149:
        call        ebx
        mov        esi, eax
$L152:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L409
$L39:
        test        eax, eax
        je        SHORT $L153
        cmp        WORD PTR [eax], 1
        jne        SHORT $L153
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 60                                        ; 0000003cH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L156
        call        ebx
        jmp        SHORT $L156
$L153:
        call        ebx
        mov        esi, eax
$L156:
        mov        ecx, 48                                        ; 00000030H
$L409:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 24
        mov        al, BYTE PTR _Num$[ebp]
        test        al, 4
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L41
        test        eax, eax
        je        SHORT $L157
        cmp        WORD PTR [eax], 1
        jne        SHORT $L157
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 58                                        ; 0000003aH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L160
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L410
$L157:
        call        ebx
        mov        esi, eax
$L160:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L410
$L41:
        test        eax, eax
        je        SHORT $L161
        cmp        WORD PTR [eax], 1
        jne        SHORT $L161
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 58                                        ; 0000003aH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L164
        call        ebx
        jmp        SHORT $L164
$L161:
        call        ebx
        mov        esi, eax
$L164:
        mov        ecx, 48                                        ; 00000030H
$L410:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 25
        mov        al, BYTE PTR _Num$[ebp]
        test        al, 8
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L43
        test        eax, eax
        je        SHORT $L165
        cmp        WORD PTR [eax], 1
        jne        SHORT $L165
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 56                                        ; 00000038H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L168
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L411
$L165:
        call        ebx
        mov        esi, eax
$L168:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L411
$L43:
        test        eax, eax
        je        SHORT $L169
        cmp        WORD PTR [eax], 1
        jne        SHORT $L169
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 56                                        ; 00000038H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L172
        call        ebx
        jmp        SHORT $L172
$L169:
        call        ebx
        mov        esi, eax
$L172:
        mov        ecx, 48                                        ; 00000030H
$L411:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 26
        mov        al, BYTE PTR _Num$[ebp]
        test        al, 16                                        ; 00000010H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L45
        test        eax, eax
        je        SHORT $L173
        cmp        WORD PTR [eax], 1
        jne        SHORT $L173
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 54                                        ; 00000036H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L176
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L412
$L173:
        call        ebx
        mov        esi, eax
$L176:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L412
$L45:
        test        eax, eax
        je        SHORT $L177
        cmp        WORD PTR [eax], 1
        jne        SHORT $L177
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 54                                        ; 00000036H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L180
        call        ebx
        jmp        SHORT $L180
$L177:
        call        ebx
        mov        esi, eax
$L180:
        mov        ecx, 48                                        ; 00000030H
$L412:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 27
        mov        al, BYTE PTR _Num$[ebp]
        test        al, 32                                        ; 00000020H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L47
        test        eax, eax
        je        SHORT $L181
        cmp        WORD PTR [eax], 1
        jne        SHORT $L181
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 52                                        ; 00000034H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L184
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L413
$L181:
        call        ebx
        mov        esi, eax
$L184:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L413
$L47:
        test        eax, eax
        je        SHORT $L185
        cmp        WORD PTR [eax], 1
        jne        SHORT $L185
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 52                                        ; 00000034H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L188
        call        ebx
        jmp        SHORT $L188
$L185:
        call        ebx
        mov        esi, eax
$L188:
        mov        ecx, 48                                        ; 00000030H
$L413:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 28
        mov        al, BYTE PTR _Num$[ebp]
        test        al, 64                                        ; 00000040H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L49
        test        eax, eax
        je        SHORT $L189
        cmp        WORD PTR [eax], 1
        jne        SHORT $L189
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 50                                        ; 00000032H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L192
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L414
$L189:
        call        ebx
        mov        esi, eax
$L192:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L414
$L49:
        test        eax, eax
        je        SHORT $L193
        cmp        WORD PTR [eax], 1
        jne        SHORT $L193
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 50                                        ; 00000032H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L196
        call        ebx
        jmp        SHORT $L196
$L193:
        call        ebx
        mov        esi, eax
$L196:
        mov        ecx, 48                                        ; 00000030H
$L414:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 29
        mov        al, BYTE PTR _Num$[ebp]
        test        al, -128                                ; ffffff80H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L51
        test        eax, eax
        je        SHORT $L197
        cmp        WORD PTR [eax], 1
        jne        SHORT $L197
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 48                                        ; 00000030H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L200
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L415
$L197:
        call        ebx
        mov        esi, eax
$L200:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L415
$L51:
        test        eax, eax
        je        SHORT $L201
        cmp        WORD PTR [eax], 1
        jne        SHORT $L201
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 48                                        ; 00000030H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L204
        call        ebx
        jmp        SHORT $L204
$L201:
        call        ebx
        mov        esi, eax
$L204:
        mov        ecx, 48                                        ; 00000030H
$L415:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 30
        mov        eax, DWORD PTR _Num$[ebp]
        test        ah, 1
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L53
        test        eax, eax
        je        SHORT $L205
        cmp        WORD PTR [eax], 1
        jne        SHORT $L205
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 46                                        ; 0000002eH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L208
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L416
$L205:
        call        ebx
        mov        esi, eax
$L208:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L416
$L53:
        test        eax, eax
        je        SHORT $L209
        cmp        WORD PTR [eax], 1
        jne        SHORT $L209
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 46                                        ; 0000002eH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L212
        call        ebx
        jmp        SHORT $L212
$L209:
        call        ebx
        mov        esi, eax
$L212:
        mov        ecx, 48                                        ; 00000030H
$L416:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 31
        mov        eax, DWORD PTR _Num$[ebp]
        test        ah, 2
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L55
        test        eax, eax
        je        SHORT $L213
        cmp        WORD PTR [eax], 1
        jne        SHORT $L213
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 44                                        ; 0000002cH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L216
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L417
$L213:
        call        ebx
        mov        esi, eax
$L216:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L417
$L55:
        test        eax, eax
        je        SHORT $L217
        cmp        WORD PTR [eax], 1
        jne        SHORT $L217
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 44                                        ; 0000002cH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L220
        call        ebx
        jmp        SHORT $L220
$L217:
        call        ebx
        mov        esi, eax
$L220:
        mov        ecx, 48                                        ; 00000030H
$L417:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 32
        mov        eax, DWORD PTR _Num$[ebp]
        test        ah, 4
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L57
        test        eax, eax
        je        SHORT $L221
        cmp        WORD PTR [eax], 1
        jne        SHORT $L221
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 42                                        ; 0000002aH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L224
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L418
$L221:
        call        ebx
        mov        esi, eax
$L224:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L418
$L57:
        test        eax, eax
        je        SHORT $L225
        cmp        WORD PTR [eax], 1
        jne        SHORT $L225
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 42                                        ; 0000002aH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L228
        call        ebx
        jmp        SHORT $L228
$L225:
        call        ebx
        mov        esi, eax
$L228:
        mov        ecx, 48                                        ; 00000030H
$L418:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 33
        mov        eax, DWORD PTR _Num$[ebp]
        test        ah, 8
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L59
        test        eax, eax
        je        SHORT $L229
        cmp        WORD PTR [eax], 1
        jne        SHORT $L229
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 40                                        ; 00000028H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L232
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L419
$L229:
        call        ebx
        mov        esi, eax
$L232:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L419
$L59:
        test        eax, eax
        je        SHORT $L233
        cmp        WORD PTR [eax], 1
        jne        SHORT $L233
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 40                                        ; 00000028H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L236
        call        ebx
        jmp        SHORT $L236
$L233:
        call        ebx
        mov        esi, eax
$L236:
        mov        ecx, 48                                        ; 00000030H
$L419:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 34
        mov        eax, DWORD PTR _Num$[ebp]
        test        ah, 16                                        ; 00000010H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L61
        test        eax, eax
        je        SHORT $L237
        cmp        WORD PTR [eax], 1
        jne        SHORT $L237
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 38                                        ; 00000026H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L240
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L420
$L237:
        call        ebx
        mov        esi, eax
$L240:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L420
$L61:
        test        eax, eax
        je        SHORT $L241
        cmp        WORD PTR [eax], 1
        jne        SHORT $L241
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 38                                        ; 00000026H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L244
        call        ebx
        jmp        SHORT $L244
$L241:
        call        ebx
        mov        esi, eax
$L244:
        mov        ecx, 48                                        ; 00000030H
$L420:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 35
        mov        eax, DWORD PTR _Num$[ebp]
        test        ah, 32                                        ; 00000020H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L63
        test        eax, eax
        je        SHORT $L245
        cmp        WORD PTR [eax], 1
        jne        SHORT $L245
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 36                                        ; 00000024H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L248
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L421
$L245:
        call        ebx
        mov        esi, eax
$L248:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L421
$L63:
        test        eax, eax
        je        SHORT $L249
        cmp        WORD PTR [eax], 1
        jne        SHORT $L249
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 36                                        ; 00000024H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L252
        call        ebx
        jmp        SHORT $L252
$L249:
        call        ebx
        mov        esi, eax
$L252:
        mov        ecx, 48                                        ; 00000030H
$L421:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 36
        mov        eax, DWORD PTR _Num$[ebp]
        test        ah, 64                                        ; 00000040H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L65
        test        eax, eax
        je        SHORT $L253
        cmp        WORD PTR [eax], 1
        jne        SHORT $L253
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 34                                        ; 00000022H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L256
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L422
$L253:
        call        ebx
        mov        esi, eax
$L256:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L422
$L65:
        test        eax, eax
        je        SHORT $L257
        cmp        WORD PTR [eax], 1
        jne        SHORT $L257
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 34                                        ; 00000022H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L260
        call        ebx
        jmp        SHORT $L260
$L257:
        call        ebx
        mov        esi, eax
$L260:
        mov        ecx, 48                                        ; 00000030H
$L422:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 37
        mov        eax, DWORD PTR _Num$[ebp]
        test        ah, -128                                ; ffffff80H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L67
        test        eax, eax
        je        SHORT $L261
        cmp        WORD PTR [eax], 1
        jne        SHORT $L261
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 32                                        ; 00000020H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L264
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L423
$L261:
        call        ebx
        mov        esi, eax
$L264:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L423
$L67:
        test        eax, eax
        je        SHORT $L265
        cmp        WORD PTR [eax], 1
        jne        SHORT $L265
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 32                                        ; 00000020H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L268
        call        ebx
        jmp        SHORT $L268
$L265:
        call        ebx
        mov        esi, eax
$L268:
        mov        ecx, 48                                        ; 00000030H
$L423:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 38
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 65536                                ; 00010000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L69
        test        eax, eax
        je        SHORT $L269
        cmp        WORD PTR [eax], 1
        jne        SHORT $L269
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 30                                        ; 0000001eH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L272
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L424
$L269:
        call        ebx
        mov        esi, eax
$L272:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L424
$L69:
        test        eax, eax
        je        SHORT $L273
        cmp        WORD PTR [eax], 1
        jne        SHORT $L273
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 30                                        ; 0000001eH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L276
        call        ebx
        jmp        SHORT $L276
$L273:
        call        ebx
        mov        esi, eax
$L276:
        mov        ecx, 48                                        ; 00000030H
$L424:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 39
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 131072                                ; 00020000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L71
        test        eax, eax
        je        SHORT $L277
        cmp        WORD PTR [eax], 1
        jne        SHORT $L277
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 28                                        ; 0000001cH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L280
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L425
$L277:
        call        ebx
        mov        esi, eax
$L280:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L425
$L71:
        test        eax, eax
        je        SHORT $L281
        cmp        WORD PTR [eax], 1
        jne        SHORT $L281
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 28                                        ; 0000001cH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L284
        call        ebx
        jmp        SHORT $L284
$L281:
        call        ebx
        mov        esi, eax
$L284:
        mov        ecx, 48                                        ; 00000030H
$L425:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 40
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 262144                                ; 00040000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L73
        test        eax, eax
        je        SHORT $L285
        cmp        WORD PTR [eax], 1
        jne        SHORT $L285
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 26                                        ; 0000001aH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L288
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L426
$L285:
        call        ebx
        mov        esi, eax
$L288:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L426
$L73:
        test        eax, eax
        je        SHORT $L289
        cmp        WORD PTR [eax], 1
        jne        SHORT $L289
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 26                                        ; 0000001aH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L292
        call        ebx
        jmp        SHORT $L292
$L289:
        call        ebx
        mov        esi, eax
$L292:
        mov        ecx, 48                                        ; 00000030H
$L426:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 41
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 524288                                ; 00080000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L75
        test        eax, eax
        je        SHORT $L293
        cmp        WORD PTR [eax], 1
        jne        SHORT $L293
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 24                                        ; 00000018H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L296
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L427
$L293:
        call        ebx
        mov        esi, eax
$L296:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L427
$L75:
        test        eax, eax
        je        SHORT $L297
        cmp        WORD PTR [eax], 1
        jne        SHORT $L297
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 24                                        ; 00000018H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L300
        call        ebx
        jmp        SHORT $L300
$L297:
        call        ebx
        mov        esi, eax
$L300:
        mov        ecx, 48                                        ; 00000030H
$L427:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 42
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 1048576                                ; 00100000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L77
        test        eax, eax
        je        SHORT $L301
        cmp        WORD PTR [eax], 1
        jne        SHORT $L301
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 22                                        ; 00000016H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L304
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L428
$L301:
        call        ebx
        mov        esi, eax
$L304:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L428
$L77:
        test        eax, eax
        je        SHORT $L305
        cmp        WORD PTR [eax], 1
        jne        SHORT $L305
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 22                                        ; 00000016H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L308
        call        ebx
        jmp        SHORT $L308
$L305:
        call        ebx
        mov        esi, eax
$L308:
        mov        ecx, 48                                        ; 00000030H
$L428:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 43
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 2097152                                ; 00200000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L79
        test        eax, eax
        je        SHORT $L309
        cmp        WORD PTR [eax], 1
        jne        SHORT $L309
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 20                                        ; 00000014H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L312
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L429
$L309:
        call        ebx
        mov        esi, eax
$L312:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L429
$L79:
        test        eax, eax
        je        SHORT $L313
        cmp        WORD PTR [eax], 1
        jne        SHORT $L313
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 20                                        ; 00000014H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L316
        call        ebx
        jmp        SHORT $L316
$L313:
        call        ebx
        mov        esi, eax
$L316:
        mov        ecx, 48                                        ; 00000030H
$L429:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 44
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 4194304                                ; 00400000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L81
        test        eax, eax
        je        SHORT $L317
        cmp        WORD PTR [eax], 1
        jne        SHORT $L317
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 18                                        ; 00000012H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L320
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L430
$L317:
        call        ebx
        mov        esi, eax
$L320:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L430
$L81:
        test        eax, eax
        je        SHORT $L321
        cmp        WORD PTR [eax], 1
        jne        SHORT $L321
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 18                                        ; 00000012H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L324
        call        ebx
        jmp        SHORT $L324
$L321:
        call        ebx
        mov        esi, eax
$L324:
        mov        ecx, 48                                        ; 00000030H
$L430:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 45
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 8388608                                ; 00800000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L83
        test        eax, eax
        je        SHORT $L325
        cmp        WORD PTR [eax], 1
        jne        SHORT $L325
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 16                                        ; 00000010H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L328
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L431
$L325:
        call        ebx
        mov        esi, eax
$L328:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L431
$L83:
        test        eax, eax
        je        SHORT $L329
        cmp        WORD PTR [eax], 1
        jne        SHORT $L329
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 16                                        ; 00000010H
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L332
        call        ebx
        jmp        SHORT $L332
$L329:
        call        ebx
        mov        esi, eax
$L332:
        mov        ecx, 48                                        ; 00000030H
$L431:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 46
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 16777216                                ; 01000000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L85
        test        eax, eax
        je        SHORT $L333
        cmp        WORD PTR [eax], 1
        jne        SHORT $L333
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 14                                        ; 0000000eH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L336
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L432
$L333:
        call        ebx
        mov        esi, eax
$L336:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L432
$L85:
        test        eax, eax
        je        SHORT $L337
        cmp        WORD PTR [eax], 1
        jne        SHORT $L337
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 14                                        ; 0000000eH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L340
        call        ebx
        jmp        SHORT $L340
$L337:
        call        ebx
        mov        esi, eax
$L340:
        mov        ecx, 48                                        ; 00000030H
$L432:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 47
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 33554432                                ; 02000000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L87
        test        eax, eax
        je        SHORT $L341
        cmp        WORD PTR [eax], 1
        jne        SHORT $L341
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 12                                        ; 0000000cH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L344
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L433
$L341:
        call        ebx
        mov        esi, eax
$L344:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L433
$L87:
        test        eax, eax
        je        SHORT $L345
        cmp        WORD PTR [eax], 1
        jne        SHORT $L345
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 12                                        ; 0000000cH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L348
        call        ebx
        jmp        SHORT $L348
$L345:
        call        ebx
        mov        esi, eax
$L348:
        mov        ecx, 48                                        ; 00000030H
$L433:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 48
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 67108864                                ; 04000000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L89
        test        eax, eax
        je        SHORT $L349
        cmp        WORD PTR [eax], 1
        jne        SHORT $L349
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 10                                        ; 0000000aH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L352
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L434
$L349:
        call        ebx
        mov        esi, eax
$L352:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L434
$L89:
        test        eax, eax
        je        SHORT $L353
        cmp        WORD PTR [eax], 1
        jne        SHORT $L353
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 10                                        ; 0000000aH
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L356
        call        ebx
        jmp        SHORT $L356
$L353:
        call        ebx
        mov        esi, eax
$L356:
        mov        ecx, 48                                        ; 00000030H
$L434:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 49
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 134217728                                ; 08000000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L91
        test        eax, eax
        je        SHORT $L357
        cmp        WORD PTR [eax], 1
        jne        SHORT $L357
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 8
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L360
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L435
$L357:
        call        ebx
        mov        esi, eax
$L360:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L435
$L91:
        test        eax, eax
        je        SHORT $L361
        cmp        WORD PTR [eax], 1
        jne        SHORT $L361
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 8
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L364
        call        ebx
        jmp        SHORT $L364
$L361:
        call        ebx
        mov        esi, eax
$L364:
        mov        ecx, 48                                        ; 00000030H
$L435:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 50
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 268435456                                ; 10000000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L93
        test        eax, eax
        je        SHORT $L365
        cmp        WORD PTR [eax], 1
        jne        SHORT $L365
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 6
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L368
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L436
$L365:
        call        ebx
        mov        esi, eax
$L368:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L436
$L93:
        test        eax, eax
        je        SHORT $L369
        cmp        WORD PTR [eax], 1
        jne        SHORT $L369
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 6
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L372
        call        ebx
        jmp        SHORT $L372
$L369:
        call        ebx
        mov        esi, eax
$L372:
        mov        ecx, 48                                        ; 00000030H
$L436:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 51
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 536870912                                ; 20000000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L95
        test        eax, eax
        je        SHORT $L373
        cmp        WORD PTR [eax], 1
        jne        SHORT $L373
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 4
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L376
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L437
$L373:
        call        ebx
        mov        esi, eax
$L376:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L437
$L95:
        test        eax, eax
        je        SHORT $L377
        cmp        WORD PTR [eax], 1
        jne        SHORT $L377
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 4
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L380
        call        ebx
        jmp        SHORT $L380
$L377:
        call        ebx
        mov        esi, eax
$L380:
        mov        ecx, 48                                        ; 00000030H
$L437:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 52
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, 1073741824                                ; 40000000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L97
        test        eax, eax
        je        SHORT $L381
        cmp        WORD PTR [eax], 1
        jne        SHORT $L381
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 2
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L384
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L438
$L381:
        call        ebx
        mov        esi, eax
$L384:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L438
$L97:
        test        eax, eax
        je        SHORT $L385
        cmp        WORD PTR [eax], 1
        jne        SHORT $L385
        mov        edx, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        mov        esi, 2
        sub        esi, edx
        cmp        esi, ecx
        jb        SHORT $L388
        call        ebx
        jmp        SHORT $L388
$L385:
        call        ebx
        mov        esi, eax
$L388:
        mov        ecx, 48                                        ; 00000030H
$L438:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
        mov        BYTE PTR [edx+esi], al
; Line 53
        mov        eax, DWORD PTR _Num$[ebp]
        test        eax, -2147483648                        ; 80000000H
        mov        eax, DWORD PTR _Result$[ebp]
        je        SHORT $L99
        test        eax, eax
        je        SHORT $L389
        cmp        WORD PTR [eax], 1
        jne        SHORT $L389
        mov        esi, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        neg        esi
        cmp        esi, ecx
        jb        SHORT $L392
        call        ebx
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L439
$L389:
        call        ebx
        mov        esi, eax
$L392:
        mov        ecx, 49                                        ; 00000031H
        jmp        SHORT $L439
$L99:
        test        eax, eax
        je        SHORT $L393
        cmp        WORD PTR [eax], 1
        jne        SHORT $L393
        mov        esi, DWORD PTR [eax+20]
        mov        ecx, DWORD PTR [eax+16]
        neg        esi
        cmp        esi, ecx
        jb        SHORT $L396
        call        ebx
        jmp        SHORT $L396
$L393:
        call        ebx
        mov        esi, eax
$L396:
        mov        ecx, 48                                        ; 00000030H
$L439:
        call        edi
        mov        ecx, DWORD PTR _Result$[ebp]
        mov        edx, DWORD PTR [ecx+12]
; Line 55
        lea        ecx, DWORD PTR _unnamed_var1$[ebp]
        push        ecx
        mov        BYTE PTR [edx+esi], al
        mov        eax, DWORD PTR _Result$[ebp]
        mov        DWORD PTR _unnamed_var1$[ebp+8], eax
        mov        DWORD PTR _unnamed_var1$[ebp], 8209        ; 00002011H
        call        DWORD PTR __imp____vbaStrVarCopy
        mov        edx, eax
        lea        ecx, DWORD PTR _Dec2Bin$[ebp]
        call        DWORD PTR __imp_@__vbaStrMove
$L32:
        push        $L402
        jmp        SHORT $L397
$L31:
; Line 56
        lea        ecx, DWORD PTR _Dec2Bin$[ebp]
        call        DWORD PTR __imp_@__vbaFreeStr
        ret        0
$L397:
$L30:
        lea        edx, DWORD PTR _Result$[ebp]
        push        edx
        push        0
        call        DWORD PTR __imp____vbaAryDestruct
$L400:
        ret        0
$L402:
        mov        eax, DWORD PTR _Me$[ebp]
        push        eax
        mov        ecx, DWORD PTR [eax]
        call        DWORD PTR [ecx+8]
        mov        edx, DWORD PTR _Dec2Bin$[ebp]
        mov        eax, DWORD PTR _Dec2Bin$[ebp]
        mov        DWORD PTR [edx], eax
        mov        eax, DWORD PTR __$SEHRec$[ebp+16]
        mov        ecx, DWORD PTR __$SEHRec$[ebp]
        pop        edi
        pop        esi
        mov        DWORD PTR fs:__except_list, ecx
        pop        ebx
        mov        esp, ebp
        pop        ebp
        ret        12                                        ; 0000000cH
?Dec2Bin@Form1@@AAGXXZ ENDP                                ; Form1::Dec2Bin
text$1        ENDS
PUBLIC        ?Form_Load@Form1@@AAGXXZ                        ; Form1::Form_Load
EXTRN        __imp____vba@051DF814:NEAR
EXTRN        __imp____vbaHresultCheckObj:NEAR
EXTRN        ___vba@006A2A78:BYTE
EXTRN        __imp____vbaFreeVarList:NEAR
;        COMDAT CONST
; File C:\Users\Administrator\Desktop\Form1.frm
CONST        SEGMENT
$S120        DB        05H, 00H
        DB        08H, 00H
        DD        FLAT:$L119
        DB        00H, 00H, 00H, 00H
        DD        FLAT:$L118
CONST        ENDS
;        COMDAT ?Form_Load@Form1@@AAGXXZ
text$1        SEGMENT
_Me$ = 8
_unnamed_var1$ = -24
_unnamed_var1$ = -40
_unnamed_var1$ = -56
_unnamed_var1$ = -72
_unnamed_var1$ = -88
__$SEHRec$ = -20
?Form_Load@Form1@@AAGXXZ PROC NEAR                        ; Form1::Form_Load, COMDAT
; File C:\Users\Administrator\Desktop\Form1.frm
; Line 58
        push        ebp
        mov        ebp, esp
        sub        esp, 12                                        ; 0000000cH
        push        OFFSET FLAT:___vbaExceptHandler
        mov        eax, DWORD PTR fs:__except_list
        push        eax
        mov        DWORD PTR fs:__except_list, esp
        sub        esp, 132                                ; 00000084H
        push        ebx
        push        esi
        push        edi
        mov        DWORD PTR __$SEHRec$[ebp+8], esp
        mov        DWORD PTR __$SEHRec$[ebp+12], OFFSET FLAT:$S120
        mov        esi, DWORD PTR _Me$[ebp]
        mov        eax, esi
        and        eax, 1
        mov        DWORD PTR __$SEHRec$[ebp+16], eax
        and        esi, -2                                        ; fffffffeH
        push        esi
        mov        DWORD PTR _Me$[ebp], esi
        mov        ecx, DWORD PTR [esi]
        call        DWORD PTR [ecx+4]
; Line 59
        mov        edx, DWORD PTR [esi]
        xor        edi, edi
        mov        eax, 10                                        ; 0000000aH
        mov        DWORD PTR _unnamed_var1$[ebp], edi
        mov        DWORD PTR _unnamed_var1$[ebp], edi
        mov        DWORD PTR _unnamed_var1$[ebp], edi
        mov        DWORD PTR _unnamed_var1$[ebp], eax
        mov        DWORD PTR _unnamed_var1$[ebp], eax
        mov        DWORD PTR _unnamed_var1$[ebp], eax
        lea        eax, DWORD PTR _unnamed_var1$[ebp]
        push        eax
        mov        ecx, -2147352572                        ; 80020004H
        push        1
        push        esi
        mov        DWORD PTR _unnamed_var1$[ebp], edi
        mov        DWORD PTR _unnamed_var1$[ebp], edi
        mov        DWORD PTR _unnamed_var1$[ebp+8], ecx
        mov        DWORD PTR _unnamed_var1$[ebp+8], ecx
        mov        DWORD PTR _unnamed_var1$[ebp+8], ecx
        call        DWORD PTR [edx+1784]
        cmp        eax, edi
        jge        SHORT $L443
        push        1784                                        ; 000006f8H
        push        OFFSET FLAT:___vba@006A2A78
        push        esi
        push        eax
        call        DWORD PTR __imp____vbaHresultCheckObj
$L443:
        mov        eax, DWORD PTR _unnamed_var1$[ebp]
        lea        ecx, DWORD PTR _unnamed_var1$[ebp]
        mov        DWORD PTR _unnamed_var1$[ebp+8], eax
        lea        edx, DWORD PTR _unnamed_var1$[ebp]
        push        ecx
        lea        eax, DWORD PTR _unnamed_var1$[ebp]
        push        edx
        push        eax
        lea        ecx, DWORD PTR _unnamed_var1$[ebp]
        push        edi
        push        ecx
        mov        DWORD PTR _unnamed_var1$[ebp], edi
        mov        DWORD PTR _unnamed_var1$[ebp], 8
        call        DWORD PTR __imp____vba@051DF814
        lea        edx, DWORD PTR _unnamed_var1$[ebp]
        lea        eax, DWORD PTR _unnamed_var1$[ebp]
        push        edx
        lea        ecx, DWORD PTR _unnamed_var1$[ebp]
        push        eax
        lea        edx, DWORD PTR _unnamed_var1$[ebp]
        push        ecx
        push        edx
        push        4
        call        DWORD PTR __imp____vbaFreeVarList
        add        esp, 20                                        ; 00000014H
; Line 60
        mov        DWORD PTR __$SEHRec$[ebp+16], edi
$L119:
        push        $L450
        jmp        SHORT $L445
$L118:
        lea        ecx, DWORD PTR _unnamed_var1$[ebp]
        call        DWORD PTR __imp_@__vbaFreeStr
        lea        eax, DWORD PTR _unnamed_var1$[ebp]
        lea        ecx, DWORD PTR _unnamed_var1$[ebp]
        push        eax
        lea        edx, DWORD PTR _unnamed_var1$[ebp]
        push        ecx
        lea        eax, DWORD PTR _unnamed_var1$[ebp]
        push        edx
        push        eax
        push        4
        call        DWORD PTR __imp____vbaFreeVarList
        add        esp, 20                                        ; 00000014H
        ret        0
$L445:
$L448:
        ret        0
$L450:
        mov        eax, DWORD PTR _Me$[ebp]
        push        eax
        mov        ecx, DWORD PTR [eax]
        call        DWORD PTR [ecx+8]
        mov        eax, DWORD PTR __$SEHRec$[ebp+16]
        mov        ecx, DWORD PTR __$SEHRec$[ebp]
        pop        edi
        pop        esi
        mov        DWORD PTR fs:__except_list, ecx
        pop        ebx
        mov        esp, ebp
        pop        ebp
        ret        4
?Form_Load@Form1@@AAGXXZ ENDP                                ; Form1::Form_Load
text$1        ENDS
END
 | 
 |