Function at 0x1002bba6
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28c
mov eax, dword [0x1003d090]
xor eax, esp
mov dword [esp + 0x288], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov ebx, ecx
mov ecx, 2
mov dword [esp + 0x14], eax
xor eax, eax
push 0xff
mov edi, edx
mov esi, dword [edi]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x3c], ecx
push eax
lea ecx, [esp + 0x99]
push ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x60], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x30], 3
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x68], al
mov byte [esp + 0x3c], al
mov byte [esp + 0x58], al
mov byte [esp + 0x9c], al
call sub.MSVCR90.dll_memset
mov edx, dword [str.Dword]
mov ax, word [0x10038064]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov word [esp + 0x88], ax
mov dword [esp + 0x8a], 0
mov dl, byte [ecx + esi]
add esp, 0xc
mov byte [esp + 0x1c], dl
nop
mov al, byte [esp + 0x1c]
cmp al, 0x66
je 0x1002b7d4
cmp al, 0xf0
je 0x1002b7d4
cmp al, 0x2e
je 0x1002b7d4
cmp al, 0x36
je 0x1002b7d4
cmp al, 0x3e
je 0x1002b7d4
cmp al, 0x26
je 0x1002b7d4
cmp al, 0x64
je 0x1002b7d4
cmp al, 0x65
je 0x1002b7d4
cmp al, 0xf2
je 0x1002b7d4
cmp al, 0xf3
je 0x1002b7d4
cmp al, 0x67
jne 0x1002bcd2
movzx eax, al
mov dword [esp + 0x18], eax
add eax, 0xffffffda
cmp eax, 0xcd
ja case.0x1002b7f0.39
movzx ecx, byte [eax + 0x1002e6fc]
jmp dword [ecx*4 + 0x1002e6e4]
mov edx, dword [str.Word]
push edx
lea eax, [esp + 0x7c]
push 0x100376bc
push eax
mov dword [esp + 0x2c], 1
mov byte [esp + 0x34], 1
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x10038aac
lea ecx, [ebx + 0x200]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
inc dword [edi]
mov edx, dword [esp + 0x14]
mov al, byte [edx + esi + 1]
inc esi
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x64]
inc eax
cmp eax, 1
mov dword [esp + 0x64], eax
jle 0x1002b7a0
mov dword [ebx + 0x200], 0x3a3636
mov ecx, dword [str.Prefix_DataSize:]
mov dword [ebx + 0x100], ecx
mov edx, dword [0x10038ab4]
mov dword [ebx + 0x104], edx
mov eax, dword [0x10038ab8]
mov dword [ebx + 0x108], eax
mov ecx, dword [0x10038abc]
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x10c], ecx
mov dl, byte [0x10038ac0]
mov byte [ebx + 0x110], dl
mov byte [ebx + 0x240], 1
mov byte [ebx + 0x241], 0
sub dword [edi], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
push 0x10038ac4
lea ecx, [ebx + 0x200]
push ecx
mov dword [esp + 0x40], 1
mov byte [esp + 0x54], 1
call dword [sym.imp.KERNEL32.dll_lstrcatA]
inc dword [edi]
mov edx, dword [esp + 0x14]
mov al, byte [edx + esi + 1]
inc esi
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x68]
inc eax
cmp eax, 1
mov dword [esp + 0x68], eax
jle 0x1002b7a0
mov dword [ebx + 0x200], 0x3a3736
mov ecx, dword [str.Prefix_AddrSize:]
mov dword [ebx + 0x100], ecx
mov edx, dword [0x10038acc]
mov dword [ebx + 0x104], edx
mov eax, dword [0x10038ad0]
mov dword [ebx + 0x108], eax
mov ecx, dword [0x10038ad4]
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x10c], ecx
mov dl, byte [0x10038ad8]
mov byte [ebx + 0x110], dl
mov byte [ebx + 0x240], 1
mov byte [ebx + 0x241], 0
sub dword [edi], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
push 0x10038adc
lea ecx, [ebx + 0x200]
push ecx
mov byte [esp + 0x47], 1
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [str.lock]
mov ecx, dword [esp + 0x14]
mov dword [ebx], edx
mov ax, word [0x10038ae4]
mov word [ebx + 4], ax
mov eax, dword [esp + 0x60]
inc dword [edi]
mov dl, byte [ecx + esi + 1]
inc esi
inc eax
cmp eax, 1
mov byte [esp + 0x1c], dl
mov dword [esp + 0x60], eax
jle 0x1002b7a0
mov byte [ebx], 0
mov dword [ebx + 0x200], 0x3a3046
mov ecx, dword [str.Prefix_LOCK:]
mov dword [ebx + 0x100], ecx
mov edx, dword [0x10038aec]
mov dword [ebx + 0x104], edx
mov eax, dword [0x10038af0]
mov edx, dword [esp + 0x60]
mov dword [ebx + 0x108], eax
mov cl, byte [0x10038af4]
mov byte [ebx + 0x10c], cl
mov byte [ebx + 0x240], 1
mov byte [ebx + 0x241], 0
sub dword [edi], edx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x14]
mov cl, byte [eax + esi + 1]
mov dl, byte [eax + esi + 2]
mov eax, dword [esp + 0x18]
push eax
mov byte [esp + 0x5c], cl
lea ecx, [esp + 0x94]
push str._02X:
push ecx
mov byte [esp + 0x5c], dl
mov byte [esp + 0x3c], 1
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x18]
sub eax, 0xf2
je 0x1002ba84
sub eax, 1
jne 0x1002ba9a
push str.repe
lea ecx, [esp + 0x94]
push ecx
jmp 0x1002ba91
push str.repne
lea edx, [esp + 0x94]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
lea eax, [esp + 0x90]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
inc dword [edi]
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + esi + 1]
inc dword [esp + 0x6c]
inc esi
mov byte [esp + 0x1c], al
cmp al, 0xa4
jb 0x1002bac8
cmp al, 0xa7
jbe 0x1002b7a0
cmp al, 0xaa
jb 0x1002bad4
cmp al, 0xaf
jbe 0x1002b7a0
cmp byte [esp + 0x58], 0xf
jne 0x1002bb57
mov al, byte [esp + 0x50]
cmp al, 0x2a
je 0x1002b7a0
cmp al, 0x10
je 0x1002b7a0
cmp al, 0x11
je 0x1002b7a0
cmp al, 0x2c
je 0x1002b7a0
cmp al, 0x2d
je 0x1002b7a0
cmp al, 0x51
je 0x1002b7a0
cmp al, 0x52
je 0x1002b7a0
cmp al, 0x53
je 0x1002b7a0
cmp al, 0x58
je 0x1002b7a0
cmp al, 0x59
je 0x1002b7a0
cmp al, 0x5c
je 0x1002b7a0
cmp al, 0x5d
je 0x1002b7a0
cmp al, 0x5e
je 0x1002b7a0
cmp al, 0x5f
je 0x1002b7a0
cmp al, 0xc2
je 0x1002b7a0
mov byte [ebx], 0
mov eax, dword [str.Prefix_REP:]
mov dword [ebx + 0x100], eax
mov ecx, dword [0x10038b14]
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x104], ecx
mov edx, dword [0x10038b18]
mov dword [ebx + 0x108], edx
mov byte [ebx + 0x240], 1
mov byte [ebx + 0x241], 0
sub dword [edi], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
cmp eax, 0x3f
ja case.0x1002bbb2.1
movzx edx, byte [eax + 0x1002e7e8]
jmp dword [edx*4 + 0x1002e7cc]
mov dword [esp + 0x24], 1
jmp case.0x1002bbb2.1
mov dword [esp + 0x24], 2
jmp case.0x1002bbb2.1
mov dword [esp + 0x24], 3
jmp case.0x1002bbb2.1
mov dword [esp + 0x24], 0
jmp case.0x1002bbb2.1
mov dword [esp + 0x24], 4
jmp case.0x1002bbb2.1
mov dword [esp + 0x24], 5
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x94]
push str._02X:
push ecx
mov byte [esp + 0x68], 1
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
inc dword [edi]
mov eax, dword [esp + 0x14]
mov cl, byte [eax + esi + 1]
mov al, byte [eax + esi - 1]
inc esi
mov byte [esp + 0x1c], cl
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, 1
mov dword [esp + 0x10], ecx
jle 0x1002b7a0
cmp al, 0x2e
je 0x1002bc79
cmp al, 0x36
je 0x1002bc79
cmp al, 0x3e
je 0x1002bc79
cmp al, 0x26
je 0x1002bc79
cmp al, 0x64
je 0x1002bc79
cmp al, 0x65
je 0x1002bc79
cmp al, 0x66
je 0x1002e5de
cmp al, 0xf0
je 0x1002bc79
cmp al, 0x67
jne case.default.0x1002c20a
cmp al, 0x66
je 0x1002e5de
cmp al, 0xf0
je 0x1002e5de
cmp al, 0x67
je 0x1002e5de
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + esi - 2]
jmp 0x1002e5ea
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x10], eax
mov byte [esp + 0x28], al
mov byte [esp + 0x3f], al
mov byte [esp + 0x5c], al
mov eax, dword [str.Dword]
lea edx, [esp + 0x78]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002bcc3
jmp 0x1002b7a0
movzx eax, byte [esp + 0x28]
movzx ecx, byte [esp + 0x5c]
movzx edx, byte [esp + 0x4c]
add ecx, eax
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x3f]
add ecx, edx
add eax, ecx
movzx ecx, byte [esp + 0x30]
add ecx, eax
mov dword [esp + 0x50], ecx
movzx ecx, byte [esp + 0x1c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
cmp ecx, 0xff
ja case.default.0x1002c20a
movzx edx, byte [ecx + 0x1002e954]
jmp dword [edx*4 + 0x1002e828]
mov eax, dword [esp + 0x14]
mov al, byte [eax + esi + 1]
mov cl, al
and cl, 0xc0
cmp cl, 0xc0
jne 0x1002be00
mov bl, byte [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov byte [esp + 0x75], al
lea eax, [esp + 0x6c]
mov cl, bl
mov byte [esp + 0x6c], 0
call fcn.100246d0
mov eax, dword [esp + 0x18]
mov dl, bl
shr dl, 1
mov cl, 1
and dl, cl
and bl, cl
add eax, 0xffffff9e
mov byte [esp + 0x20], dl
mov byte [esp + 0x30], bl
cmp eax, 0x63
ja case.0x1002bd7f.100
movzx eax, byte [eax + 0x1002ea68]
jmp dword [eax*4 + 0x1002ea54]
mov byte [esp + 0x20], 0
jmp 0x1002bda8
mov byte [esp + 0x20], 0
mov byte [esp + 0x30], 0
jmp case.0x1002bd7f.100
mov byte [esp + 0x20], cl
mov byte [esp + 0x30], 0
jmp case.0x1002bd7f.100
mov byte [esp + 0x20], cl
mov byte [esp + 0x30], cl
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push ecx
push edx
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x20]
push ecx
push edx
push eax
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x84]
call fcn.1001e660
mov ecx, dword [esp + 0x58]
mov dl, byte [esp + 0x28]
add esp, 0x18
mov byte [ecx + 0x241], dl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
cmp al, 0xbf
ja case.default.0x1002c20a
mov bl, byte [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov byte [esp + 0x75], al
lea eax, [esp + 0x6c]
mov cl, bl
mov byte [esp + 0x6c], 0
call fcn.100246d0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
mov cl, bl
and cl, 1
movzx edx, cl
push edx
mov edx, dword [esp + 0x38]
shr bl, 1
and bl, 1
movzx eax, bl
push eax
lea ecx, [esp + 0x6c]
push ecx
push edx
lea eax, [esp + 0x34]
push esi
push eax
lea ecx, [esp + 0x94]
lea edx, [esp + 0x68]
call fcn.10020290
mov ecx, dword [esp + 0x68]
mov dl, byte [esp + 0x38]
add esp, 0x28
mov byte [ecx + 0x241], dl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov cl, byte [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov byte [esp + 0x75], al
lea eax, [esp + 0x6c]
mov byte [esp + 0x6c], 0
call fcn.100246d0
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + esi + 1]
push ecx
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x98]
push str._s_al___02X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov byte [ebx + 0x100], 0
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + esi + 1]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea edx, [esp + 0x98]
push str._02X_02X
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [esp + 0x90]
push eax
lea ecx, [ebx + 0x200]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x240], 2
mov byte [ebx + 0x241], dl
inc dword [edi]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov cl, byte [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov byte [esp + 0x75], al
lea eax, [esp + 0x6c]
mov byte [esp + 0x6c], 0
call fcn.100246d0
cmp byte [esp + 0x28], 0
jne 0x1002c02b
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea eax, [edx + esi + 1]
push eax
call fcn.1002b690
mov ecx, dword [esp + 0x50]
mov edx, dword [0x1003d1c0]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push ecx
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x9c]
push str._s__s___08X
push ecx
call esi
add esp, 0x14
lea edx, [esp + 0x90]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea edx, [esp + 0x98]
push str._02X__08X
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x90]
push eax
lea ecx, [ebx + 0x200]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x240], 5
mov byte [ebx + 0x241], dl
add dword [edi], 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0x28], 1
jne case.default.0x1002c20a
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x30]
push ecx
lea eax, [edx + esi + 1]
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x40]
mov edx, dword [0x1003d19c]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push ecx
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x9c]
push str._s__s___04X
push ecx
call esi
add esp, 0x14
lea edx, [esp + 0x90]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, word [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea edx, [esp + 0x98]
push str._02X__04X
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x90]
push eax
lea ecx, [ebx + 0x200]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x240], 3
mov byte [ebx + 0x241], dl
add dword [edi], 2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
push str.push_es
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, str.Push_ES_register_to_the_stack
push 0x10038b8c
mov ecx, 7
lea edi, [ebx + 0x100]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebx + 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x241], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.pop_es
push ebx
call esi
mov edx, dword [str.Pop_top_stack_to_ES]
mov dword [ebx + 0x100], edx
mov eax, dword [0x10038b9c]
mov dword [ebx + 0x104], eax
mov ecx, dword [0x10038ba0]
mov dword [ebx + 0x108], ecx
mov edx, dword [0x10038ba4]
mov dword [ebx + 0x10c], edx
mov eax, dword [0x10038ba8]
mov dword [ebx + 0x110], eax
push 0x10038bac
lea ecx, [ebx + 0x200]
push ecx
call esi
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x241], dl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
push str.push_cs
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, str.Push_CS_register_to_the_stack
push 0x10038bd8
jmp 0x1002c0fb
mov edx, dword [esp + 0x14]
mov al, byte [edx + esi + 1]
add ebx, 0x200
push 0x10038bdc
push ebx
mov byte [esp + 0x28], al
mov dword [esp + 0x34], ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push ecx
push edx
lea ebx, [esp + 0x198]
call fcn.10024b90
add esp, 8
cmp eax, 4
ja case.default.0x1002c20a
jmp dword [eax*4 + 0x1002eacc]
mov eax, dword [esp + 0x14]
mov al, byte [eax + esi + 2]
cmp al, 0xbf
ja 0x1002c293
mov al, byte [esp + 0x1c]
mov ecx, dword [esp + 0x30]
inc dword [edi]
mov edi, dword [edi]
push ecx
mov dl, al
and dl, 1
movzx ecx, dl
push ecx
mov ecx, dword [esp + 0x64]
shr al, 1
and al, 1
movzx edx, al
mov eax, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
push ecx
lea edx, [esp + 0x60]
push edi
push edx
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x3c]
call fcn.10026a50
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x38]
add esp, 0x28
mov byte [eax + 0x241], cl
inc byte [eax + 0x240]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
and al, 0xc0
cmp al, 0xc0
jne case.default.0x1002c20a
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
inc dword [edi]
push edx
push eax
mov al, byte [esp + 0x24]
push ecx
mov cl, al
lea edx, [esp + 0x4c]
push edx
and cl, 1
shr al, 1
movzx edx, cl
and al, 1
movzx eax, al
push edx
push eax
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x2c]
call fcn.100250a0
add esp, 0x18
jmp 0x1002c4f6
mov esi, dword [esp + 0x40]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [esp + 0x190]
push edx
push esi
call ebx
movzx eax, byte [esp + 0x20]
push eax
lea ecx, [esp + 0x194]
push str._02X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x38]
add esp, 0xc
lea edx, [esp + 0x190]
push edx
push eax
call ebx
mov cl, byte [esp + 0x10]
mov byte [esi + 0x240], 2
mov byte [esi + 0x241], cl
inc dword [edi]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x4c]
push eax
lea edx, [ecx + esi + 2]
push edx
call fcn.1002b690
mov ebx, dword [esp + 0x4c]
mov eax, dword [ebx + 0x23c]
add eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
add esp, 0xc
lea eax, [ecx + eax + 6]
push eax
lea edx, [esp + 0x214]
push str._08X
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x21c]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002c396
lea edi, [esp + 0x190]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1002c3a7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x190]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push ebx
call esi
mov ecx, dword [esp + 0x48]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
lea edx, [esp + 0x214]
push str._08X
push edx
call edi
movzx eax, byte [esp + 0x2c]
add esp, 0xc
push eax
lea ecx, [esp + 0x194]
push 0x100376c0
push ecx
call edi
mov edi, dword [esp + 0x38]
add esp, 0xc
lea edx, [esp + 0x190]
push edx
push edi
call esi
lea eax, [esp + 0x210]
push eax
push edi
call esi
mov cl, byte [esp + 0x10]
mov eax, dword [esp + 0x54]
mov byte [ebx + 0x240], 6
mov byte [ebx + 0x241], cl
add dword [eax], 5
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x14]
mov al, byte [edx + esi + 2]
and al, 0xc0
cmp al, 0xc0
jne case.0x1002c20a.1
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
inc dword [edi]
push ecx
push edx
push eax
mov al, byte [esp + 0x28]
mov dl, al
and dl, 1
lea ecx, [esp + 0x4c]
push ecx
movzx ecx, dl
shr al, 1
and al, 1
movzx edx, al
push ecx
push edx
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x2c]
call fcn.100250a0
add esp, 0x18
jmp 0x1002c4f6
mov edx, dword [esp + 0x14]
mov al, byte [edx + esi + 2]
cmp al, 8
jb 0x1002c51f
cmp al, 0xf
ja 0x1002c51f
mov eax, dword [esp + 0x30]
push eax
mov al, byte [esp + 0x20]
inc dword [edi]
mov edi, dword [edi]
mov cl, al
and cl, 1
shr al, 1
movzx edx, cl
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x64]
and al, 1
movzx eax, al
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
lea eax, [esp + 0x60]
push edi
push eax
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x3c]
call fcn.10026a50
add esp, 0x28
mov eax, dword [esp + 0x40]
mov cl, byte [esp + 0x10]
mov byte [eax + 0x241], cl
inc byte [eax + 0x240]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x40]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10037f3c
push esi
call ebx
movzx edx, byte [esp + 0x20]
push edx
lea eax, [esp + 0x194]
push str._02X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [esp + 0x38]
add esp, 0xc
lea ecx, [esp + 0x190]
push ecx
push edx
call ebx
mov al, byte [esp + 0x10]
mov byte [esi + 0x240], 2
mov byte [esi + 0x241], al
inc dword [edi]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
push str.push_ss
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, str.Push_SS_register_to_the_stack
push 0x10038c08
mov ecx, 7
lea edi, [ebx + 0x100]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x200]
push ecx
movsw word es:[edi], word [esi]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x241], dl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.pop_ss
push ebx
call esi
mov eax, dword [str.Pop_top_stack_to_SS]
mov dword [ebx + 0x100], eax
mov ecx, dword [0x10038c18]
mov dword [ebx + 0x104], ecx
mov edx, dword [0x10038c1c]
mov dword [ebx + 0x108], edx
mov eax, dword [0x10038c20]
mov dword [ebx + 0x10c], eax
mov ecx, dword [0x10038c24]
push 0x10038c28
mov dword [ebx + 0x110], ecx
lea edx, [ebx + 0x200]
push edx
call esi
mov al, byte [esp + 0x10]
mov byte [ebx + 0x241], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
push str.push_ds
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, str.Push_DS_register_to_the_stack
push 0x10038c54
jmp 0x1002c59a
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.pop_ds
push ebx
call esi
mov eax, dword [str.Pop_top_stack_to_DS]
mov dword [ebx + 0x100], eax
mov ecx, dword [0x10038c64]
mov dword [ebx + 0x104], ecx
mov edx, dword [0x10038c68]
mov dword [ebx + 0x108], edx
mov eax, dword [0x10038c6c]
mov dword [ebx + 0x10c], eax
mov ecx, dword [0x10038c70]
push 0x10038c74
jmp 0x1002c61c
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038c78
push ebx
call esi
push 0x10038c7c
jmp 0x1002c183
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038c80
push ebx
call esi
push 0x10038c84
lea eax, [ebx + 0x200]
push eax
call esi
jmp 0x1002c117
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038c88
push ebx
call esi
push 0x10038c8c
jmp 0x1002c622
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038c90
push ebx
call esi
push 0x10038c94
jmp 0x1002c183
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
and ecx, 0xf
lea edx, [eax + eax*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x1003d178]
push eax
lea ecx, [esp + 0x94]
push str.inc__s
push ecx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0xc
lea edx, [esp + 0x90]
push edx
push ebx
call edi
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x94]
push str._02X
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call edi
jmp 0x1002c117
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
mov edx, ecx
and edx, 7
lea eax, [eax + eax*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d178]
push ecx
lea edx, [esp + 0x94]
push str.dec__s
push edx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0xc
lea eax, [esp + 0x90]
push eax
push ebx
call edi
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x94]
push str._02X
push edx
call esi
add esp, 0xc
lea eax, [esp + 0x90]
push eax
lea ecx, [ebx + 0x200]
push ecx
call edi
jmp 0x1002c18c
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
and ecx, 0xf
lea edx, [eax + eax*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x1003d178]
push eax
lea ecx, [esp + 0x94]
push str.push__s
push ecx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0xc
lea edx, [esp + 0x90]
push edx
push ebx
call edi
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x94]
push str._02X
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call edi
jmp 0x1002c117
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
mov edx, ecx
and edx, 0xf
lea eax, [eax + eax*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d158]
push ecx
lea edx, [esp + 0x94]
push str.pop__s
push edx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0xc
lea eax, [esp + 0x90]
push eax
push ebx
call edi
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x94]
push str._02X
push edx
call esi
add esp, 0xc
lea eax, [esp + 0x90]
push eax
lea ecx, [ebx + 0x200]
push ecx
call edi
jmp 0x1002c18c
mov al, byte [esp + 0x28]
test al, al
jne 0x1002c8e4
push str.pushad
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038cc8
jmp 0x1002c10a
cmp al, 1
jne 0x1002c8f4
push str.pushaw
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038cc8
jmp 0x1002c10a
mov al, byte [esp + 0x28]
test al, al
jne 0x1002c90d
push str.popad
jmp 0x1002c916
cmp al, 1
jne 0x1002c91d
push str.popaw
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038cdc
lea edx, [ebx + 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x1002c62b
cmp byte [esp + 0x28], 0
mov eax, dword [esp + 0x14]
jne 0x1002c9db
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x4c]
push edx
lea ecx, [eax + esi + 1]
push ecx
call fcn.1002b690
mov edx, dword [esp + 0x50]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push edx
lea eax, [esp + 0x94]
push str.push__08X
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x48]
push edx
lea eax, [esp + 0x94]
push str.68__08X
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x90]
push ecx
lea edx, [ebx + 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, byte [esp + 0x10]
mov byte [ebx + 0x240], 5
mov byte [ebx + 0x241], al
add dword [edi], 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [eax + esi + 1]
push ecx
call fcn.1002b650
movzx edx, word [esp + 0x40]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push edx
lea eax, [esp + 0x94]
push str.push__04X
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx edx, word [esp + 0x2c]
push edx
lea eax, [esp + 0x94]
push str.68__04X
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x90]
push ecx
lea edx, [ebx + 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, byte [esp + 0x10]
mov byte [ebx + 0x240], 3
mov byte [ebx + 0x241], al
add dword [edi], 2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + esi + 1]
movzx edx, al
cmp al, 0x80
jb 0x1002ca9b
mov eax, 0x100
sub eax, edx
push eax
push str.push___02X
lea ecx, [esp + 0x98]
push ecx
jmp 0x1002caa9
push edx
push str.push__02X
lea eax, [esp + 0x98]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + esi + 1]
push eax
lea ecx, [esp + 0x94]
push str.6A_02X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x240], 2
mov byte [ebx + 0x241], cl
inc dword [edi]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov al, byte [esp + 0x1c]
and al, 0xf
cmp al, 0xc
jne 0x1002cb7f
push str.insb
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x38]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x1003d194]
push eax
lea ecx, [esp + 0x94]
push str.Byte_ptr_ES:__s___DX
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x9c]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add esp, 0xc
add edx, 0x100
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002cb70
jmp 0x1002cc31
cmp al, 0xd
jne 0x1002cc31
mov al, byte [esp + 0x28]
test al, al
jne 0x1002cbdf
push str.insd
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x38]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x1003d194]
push eax
lea ecx, [esp + 0x94]
push str.Dword_ptr_ES:__s___DX
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x9c]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add esp, 0xc
add edx, 0x100
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002cbd3
jmp 0x1002cc31
cmp al, 1
jne 0x1002cc31
push str.insw
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x38]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x1003d194]
push eax
lea ecx, [esp + 0x94]
push str.Word_ptr_ES:__s___DX
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x9c]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add esp, 0xc
add edx, 0x100
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002cc27
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x94]
push str._02X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x90]
push ecx
lea edx, [ebx + 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x1002c62b
mov al, byte [esp + 0x1c]
and al, 0xf
cmp al, 0xe
jne 0x1002ccc3
push str.outsb
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x38]
lea ecx, [eax + eax*8]
mov edx, dword [ecx*4 + 0x1003d194]
push edx
lea eax, [esp + 0x94]
push str.DX__Byte_ptr_ES:__s_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x9c]
mov edx, eax
mov ecx, ebx
add esp, 0xc
sub ecx, edx
lea edx, [ecx + 0x100]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002ccb4
jmp 0x1002cd7a
cmp al, 0xf
jne 0x1002cd7a
mov al, byte [esp + 0x28]
test al, al
jne 0x1002cd23
push str.outsd
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*8]
mov ecx, dword [eax*4 + 0x1003d194]
push ecx
lea edx, [esp + 0x94]
push str.DX__Dword_ptr_ES:__s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x9c]
mov edx, eax
mov ecx, ebx
add esp, 0xc
sub ecx, edx
lea edx, [ecx + 0x100]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002cd17
jmp 0x1002cd7a
cmp al, 1
jne 0x1002cd7a
push str.outsw
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*8]
mov ecx, dword [eax*4 + 0x1003d194]
push ecx
lea edx, [esp + 0x94]
push str.DX__Word_ptr_ES:__s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x9c]
mov edx, eax
mov ecx, ebx
add esp, 0xc
sub ecx, edx
lea edx, [ecx + 0x100]
jmp 0x1002cd70
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002cd70
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x94]
push str._02X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x90]
push edx
jmp 0x1002c10a
mov edx, dword [esp + 0x14]
mov cl, byte [edx + esi + 1]
mov edx, dword [ebx + 0x23c]
cmp cl, 0x7f
movzx ecx, cl
jbe 0x1002cdc3
add edx, ecx
lea eax, [edx + eax - 0xfe]
jmp 0x1002cdc9
add edx, ecx
lea eax, [edx + eax + 2]
mov cl, byte [esp + 0x1c]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x84]
call fcn.10024900
cmp byte [esp + 0x1c], 0xe3
jne 0x1002ce05
cmp byte [esp + 0x4c], 1
jne 0x1002ce05
mov ecx, dword [str.jcxz]
mov dl, byte [0x10038dec]
mov dword [esp + 0x84], ecx
mov byte [esp + 0x88], dl
mov eax, dword [esp + 0x6c]
push eax
lea ecx, [esp + 0x88]
push ecx
push str._s__08X
lea edx, [esp + 0x9c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [esp + 0x90]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx + esi + 1]
mov eax, dword [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x98]
push str._02X_02X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x1002cae1
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038df8
push ebx
call esi
push 0x10038dfc
jmp 0x1002c622
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push ecx
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x20]
push ecx
push 1
push 1
lea edx, [esp + 0x6c]
mov ecx, str.xchg
call fcn.1001e660
mov edx, dword [esp + 0x58]
mov al, byte [esp + 0x28]
add esp, 0x18
mov byte [edx + 0x241], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov al, byte [esp + 0x28]
test al, al
jne 0x1002ced4
push str.cwde
jmp 0x1002cedd
cmp al, 1
jne 0x1002cee4
push 0x10038e08
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038e0c
lea ecx, [ebx + 0x200]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x1002c18c
mov al, byte [esp + 0x28]
test al, al
jne 0x1002cf19
push 0x10038e10
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038e0c
jmp 0x1002c10a
cmp al, 1
jne 0x1002cf29
push 0x10038e14
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038e0c
jmp 0x1002c10a
sub ecx, 0x9a
je 0x1002cf4c
sub ecx, 0x50
jne 0x1002cf5f
mov edx, dword [0x10037f24]
mov dword [esp + 0x6c], edx
jmp 0x1002cf5f
mov eax, dword [str.call]
mov cl, byte [0x10037f38]
mov dword [esp + 0x6c], eax
mov byte [esp + 0x70], cl
cmp byte [esp + 0x4c], 0
jne 0x1002d027
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x4c]
push eax
lea edx, [ecx + esi + 1]
push edx
call fcn.1002b690
mov edx, dword [esp + 0x20]
add esp, 0xc
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x30]
push ecx
lea eax, [edx + esi + 5]
push eax
call fcn.1002b650
mov ecx, dword [esp + 0x50]
movzx edx, word [esp + 0x40]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push ecx
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x9c]
push str._s__04X:_08X
push ecx
call esi
add esp, 0x14
lea edx, [esp + 0x90]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, word [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esp + 0x9c]
push str._02X__08X__04X
push eax
call esi
add esp, 0x14
lea ecx, [esp + 0x90]
push ecx
lea edx, [ebx + 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, byte [esp + 0x10]
mov byte [ebx + 0x240], 7
mov byte [ebx + 0x241], al
add dword [edi], 6
jmp 0x1002d0e1
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [eax + esi + 3]
push ecx
call fcn.1002b650
mov ecx, dword [esp + 0x20]
add esp, 0xc
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x5c]
push eax
lea edx, [ecx + esi + 1]
push edx
call fcn.1002b650
movzx eax, word [esp + 0x5c]
movzx ecx, word [esp + 0x40]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push eax
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x9c]
push str._s__04X:_08X
push eax
call esi
add esp, 0x14
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx edx, word [esp + 0x2c]
movzx eax, word [esp + 0x58]
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
lea edx, [esp + 0x9c]
push str._02X__04X__04X
push edx
call esi
add esp, 0x14
lea eax, [esp + 0x90]
push eax
lea ecx, [ebx + 0x200]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x240], 5
mov byte [ebx + 0x241], dl
add dword [edi], 4
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x94]
push str.Far__s
push ecx
call esi
lea eax, [esp + 0x9c]
mov edx, eax
add esp, 0xc
sub ebx, edx
lea edx, [ebx + 0x100]
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002d110
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.wait
push ebx
call esi
push 0x10038e58
lea eax, [ebx + 0x200]
push eax
call esi
jmp 0x1002c117
mov al, byte [esp + 0x28]
test al, al
jne 0x1002d15f
push str.pushfd
jmp 0x1002d168
cmp al, 1
jne 0x1002d16f
push str.pushfw
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038e6c
lea edx, [ebx + 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x1002c62b
mov al, byte [esp + 0x28]
test al, al
jne 0x1002d195
push str.popfd
jmp 0x1002d19e
cmp al, 1
jne 0x1002d1a5
push str.popfw
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10038e80
lea ecx, [ebx + 0x200]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x1002c18c
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.sahf
push ebx
call esi
push 0x10038e8c
lea eax, [ebx + 0x200]
push eax
call esi
jmp 0x1002c117
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.lahf
push ebx
call esi
push 0x10038e98
jmp 0x1002c622
cmp byte [esp + 0x4c], 0
jne 0x1002d2dd
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x4c]
push edx
lea ecx, [eax + esi + 1]
push ecx
call fcn.1002b690
mov eax, dword [esp + 0x24]
add esp, 0xc
sub eax, 0xa0
je 0x1002d24b
sub eax, 2
jne 0x1002d272
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax*4 + 0x1003d1f4]
push edx
push ecx
push str.mov_Byte_ptr__s:__08X___al
lea edx, [esp + 0x9c]
push edx
jmp 0x1002d269
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx*4 + 0x1003d1f4]
push eax
push edx
push str.mov_al__Byte_ptr__s:__08X_
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x90]
push ecx
push ebx
call esi
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x98]
push str._02X__08X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call esi
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x240], 5
mov byte [ebx + 0x241], cl
add dword [edi], 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x30]
push eax
lea edx, [ecx + esi + 1]
push edx
call fcn.1002b650
mov eax, dword [esp + 0x24]
add esp, 0xc
sub eax, 0xa0
je 0x1002d329
sub eax, 2
jne 0x1002d351
movzx eax, word [esp + 0x34]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx*4 + 0x1003d1f4]
push eax
push edx
push str.mov_Byte_ptr__s:__04X___al
lea eax, [esp + 0x9c]
push eax
jmp 0x1002d348
movzx ecx, word [esp + 0x34]
mov edx, dword [esp + 0x24]
mov eax, dword [edx*4 + 0x1003d1f4]
push ecx
push eax
push str.mov_al__Byte_ptr__s:__04X_
lea ecx, [esp + 0x9c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [esp + 0x90]
push edx
push ebx
call esi
movzx eax, word [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea edx, [esp + 0x98]
push str._02X__04X
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [esp + 0x90]
push eax
lea ecx, [ebx + 0x200]
push ecx
call esi
jmp 0x1002c0bc
mov al, byte [esp + 0x4c]
test al, al
jne 0x1002d48c
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea eax, [edx + esi + 1]
push eax
call fcn.1002b690
mov eax, dword [esp + 0x24]
add esp, 0xc
sub eax, 0xa1
je 0x1002d407
sub eax, 2
jne 0x1002d445
mov eax, dword [esp + 0x20]
lea ecx, [eax + eax*8]
mov edx, dword [ecx*4 + 0x1003d178]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [ecx*4 + 0x1003d1f4]
push eax
push edx
lea eax, [esp + 0x84]
push eax
push str.mov__s_ptr__s:__08X____s
lea ecx, [esp + 0xa4]
push ecx
jmp 0x1002d43c
mov eax, dword [esp + 0x24]
mov ecx, dword [eax*4 + 0x1003d1f4]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
push edx
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [eax + eax*8]
mov ecx, dword [eax*4 + 0x1003d178]
push ecx
push str.mov__s___s_ptr__s:__08X_
lea edx, [esp + 0xa4]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x90]
push eax
push ebx
call esi
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x98]
push str._02X__08X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [esp + 0x90]
push ecx
lea edx, [ebx + 0x200]
push edx
call esi
jmp 0x1002c9b2
cmp al, 1
jne case.default.0x1002c20a
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [eax + esi + 1]
push ecx
call fcn.1002b650
mov eax, dword [esp + 0x24]
add esp, 0xc
sub eax, 0xa1
je 0x1002d4f7
sub eax, 2
jne 0x1002d536
mov eax, dword [esp + 0x20]
movzx ecx, word [esp + 0x34]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x1003d178]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [edx*4 + 0x1003d1f4]
push ecx
push eax
lea ecx, [esp + 0x84]
push ecx
push str.mov__s_ptr__s:__04X____s
lea edx, [esp + 0xa4]
push edx
jmp 0x1002d52d
movzx eax, word [esp + 0x34]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx*4 + 0x1003d1f4]
push eax
push edx
lea eax, [esp + 0x80]
push eax
mov eax, dword [esp + 0x2c]
lea ecx, [eax + eax*8]
mov edx, dword [ecx*4 + 0x1003d178]
push edx
push str.mov__s___s_ptr__s:__04X_
lea eax, [esp + 0xa4]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x90]
push ecx
push ebx
call esi
movzx edx, word [esp + 0x2c]
mov eax, dword [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x98]
push str._02X__04X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call esi
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x240], 3
mov byte [ebx + 0x241], cl
add dword [edi], 2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0x30], 1
jne 0x1002d5c4
mov edx, dword [esp + 0x14]
cmp byte [edx + esi - 1], 0xf3
jne 0x1002d5c4
mov eax, dword [str.rep]
mov dword [ebx], eax
mov cl, byte [0x10038f80]
mov byte [ebx + 4], cl
mov al, byte [esp + 0x1c]
and al, 0xf
cmp al, 4
jne 0x1002d613
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*8]
add eax, eax
mov edx, dword [eax + eax + 0x1003d190]
push edx
mov edx, dword [ecx*4 + 0x1003d1f4]
mov ecx, dword [0x1003d1f4]
add eax, eax
mov eax, dword [eax + 0x1003d194]
push edx
push eax
push ecx
lea edx, [esp + 0xa0]
push str.Byte_ptr__s:__s___Byte_ptr__s:__s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
jmp 0x1002d663
cmp al, 5
jne 0x1002d663
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*8]
add eax, eax
mov ecx, dword [eax + eax + 0x1003d190]
push ecx
mov ecx, dword [edx*4 + 0x1003d1f4]
add eax, eax
mov eax, dword [eax + 0x1003d194]
push ecx
mov ecx, dword [0x1003d1f4]
lea edx, [esp + 0x80]
push edx
push eax
push ecx
push edx
lea eax, [esp + 0xa8]
push str._s_ptr__s:__s____s_ptr__s:__s_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.movs
push ebx
call esi
lea eax, [esp + 0x90]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x100]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002d684
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x94]
push str._02X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call esi
mov cl, byte [esp + 0x50]
jmp 0x1002c11b
mov al, byte [esp + 0x1c]
and al, 0xf
cmp al, 6
jne 0x1002d75b
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*8]
add eax, eax
add eax, eax
cmp byte [esp + 0x30], 1
jne 0x1002d71f
mov edx, dword [eax + 0x1003d190]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x1003d194]
push edx
mov edx, dword [ecx*4 + 0x1003d1f4]
mov ecx, dword [0x1003d1f4]
push edx
push eax
push ecx
lea edx, [esp + 0xa0]
push str.Byte_ptr__s:__s___Byte_ptr__s:__s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
jmp 0x1002d7e6
mov ecx, dword [eax + 0x1003d194]
mov edx, dword [0x1003d1f4]
mov eax, dword [eax + 0x1003d190]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ecx*4 + 0x1003d1f4]
push eax
push edx
lea eax, [esp + 0xa0]
push str.Byte_ptr__s:__s___Byte_ptr__s:__s_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
jmp 0x1002d7e6
cmp al, 7
jne 0x1002d7e6
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*8]
add eax, eax
add eax, eax
cmp byte [esp + 0x30], 1
jne 0x1002d79f
mov ecx, dword [eax + 0x1003d190]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0x1003d194]
push ecx
mov ecx, dword [edx*4 + 0x1003d1f4]
push ecx
mov ecx, dword [0x1003d1f4]
lea edx, [esp + 0x80]
push edx
push eax
jmp 0x1002d7c7
mov ecx, dword [eax + 0x1003d194]
mov edx, dword [0x1003d1f4]
push ecx
push edx
mov edx, dword [eax + 0x1003d190]
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [eax*4 + 0x1003d1f4]
push edx
push ecx
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0xa8]
push str._s_ptr__s:__s____s_ptr__s:__s_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.cmps
push ebx
call esi
lea eax, [esp + 0x90]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x100]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002d807
jmp 0x1002d68e
cmp byte [esp + 0x30], 1
jne 0x1002d838
mov edx, dword [esp + 0x14]
cmp byte [edx + esi - 1], 0xf3
jne 0x1002d838
mov eax, dword [str.rep]
mov dword [ebx], eax
mov cl, byte [0x10038f80]
mov byte [ebx + 4], cl
mov al, byte [esp + 0x1c]
and al, 0xf
cmp al, 0xa
jne 0x1002d870
mov eax, dword [esp + 0x38]
mov ecx, dword [0x1003d1f4]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x1003d194]
push eax
push ecx
lea edx, [esp + 0x98]
push str.Byte_ptr__s:__s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x1002d8a8
cmp al, 0xb
jne 0x1002d8a8
mov eax, dword [esp + 0x38]
mov edx, dword [0x1003d1f4]
lea eax, [eax + eax*8]
mov ecx, dword [eax*4 + 0x1003d194]
push ecx
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x9c]
push str._s_ptr__s:__s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.stos
push ebx
call esi
lea eax, [esp + 0x90]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x100
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002d8d0
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x94]
push str._02X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x90]
push ecx
lea edx, [ebx + 0x200]
push edx
call esi
mov al, byte [esp + 0x50]
jmp 0x1002c62f
cmp byte [esp + 0x30], 1
jne 0x1002d931
mov ecx, dword [esp + 0x14]
cmp byte [ecx + esi - 1], 0xf3
jne 0x1002d931
mov edx, dword [str.rep]
mov dword [ebx], edx
mov al, byte [0x10038f80]
mov byte [ebx + 4], al
mov al, byte [esp + 0x1c]
and al, 0xf
cmp al, 0xc
jne 0x1002d968
mov eax, dword [esp + 0x38]
lea ecx, [eax + eax*8]
mov edx, dword [ecx*4 + 0x1003d190]
mov eax, dword [0x1003d200]
push edx
push eax
lea ecx, [esp + 0x98]
push str.Byte_ptr__s:__s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x1002d9a0
cmp al, 0xd
jne 0x1002d9a0
mov eax, dword [esp + 0x38]
mov ecx, dword [0x1003d200]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x1003d190]
push eax
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x9c]
push str._s_ptr__s:__s_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.lods
push ebx
call esi
lea eax, [esp + 0x90]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x100]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002d9c1
jmp 0x1002d68e
mov al, byte [esp + 0x1c]
and al, 0xf
cmp al, 0xe
jne 0x1002da08
mov eax, dword [esp + 0x38]
mov ecx, dword [0x1003d1f4]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x1003d194]
push eax
push ecx
lea edx, [esp + 0x98]
push str.Byte_ptr__s:__s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x1002da40
cmp al, 0xf
jne 0x1002da40
mov eax, dword [esp + 0x38]
mov edx, dword [0x1003d1f4]
lea eax, [eax + eax*8]
mov ecx, dword [eax*4 + 0x1003d194]
push ecx
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x9c]
push str._s_ptr__s:__s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.scas
push ebx
call esi
lea eax, [esp + 0x90]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x100
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1002da61
jmp 0x1002d8da
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx + esi + 1]
mov eax, dword [esp + 0x18]
and eax, 0xf
mov ecx, dword [eax*4 + 0x1003d178]
push edx
push ecx
push str.mov__s___02X
jmp 0x1002ce17
cmp byte [esp + 0x28], 0
jne 0x1002daef
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x4c]
push eax
lea edx, [ecx + esi + 1]
push edx
call fcn.1002b690
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x24]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push eax
mov eax, dword [esp + 0x24]
and ecx, 0xf
lea edx, [eax + eax*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x1003d158]
push eax
lea ecx, [esp + 0x98]
push str.mov__s___08X
push ecx
call esi
add esp, 0x10
jmp 0x1002bfc2
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x30]
push ecx
lea eax, [edx + esi + 1]
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x40]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
and edx, 0xf
push ecx
lea eax, [eax + eax*8]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d158]
push ecx
lea edx, [esp + 0x98]
push str.mov__s___04X
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x90]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, word [esp + 0x2c]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x98]
push str._02X__04X
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0x90]
push ecx
lea edx, [ebx + 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, byte [esp + 0x10]
mov byte [ebx + 0x240], 3
mov byte [ebx + 0x241], al
add dword [edi], 2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
sub ecx, 0xc2
je 0x1002dbc3
sub ecx, 8
jne 0x1002dbd6
push str.retf
lea ecx, [esp + 0x70]
push ecx
jmp 0x1002dbcd
push 0x10039034
lea edx, [esp + 0x70]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x30]
push ecx
lea eax, [edx + esi + 1]
push eax
call fcn.1002b650
mov eax, dword [esp + 0x40]
movzx edx, ax
add esp, 0xc
mov ecx, 0xa000
cmp ax, cx
push edx
lea eax, [esp + 0x70]
lea ecx, [esp + 0x94]
push eax
jb 0x1002dc16
push str._s__05X
jmp 0x1002dc1b
push str._s__04X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0x10
lea edx, [esp + 0x90]
push edx
push ebx
call esi
movzx eax, word [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea edx, [esp + 0x98]
push str._02X__04X
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [esp + 0x90]
push eax
lea ecx, [ebx + 0x200]
push ecx
call esi
cmp byte [esp + 0x3f], 1
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x240], 3
mov byte [ebx + 0x241], dl
jne 0x1002c0cd
push str._Illegal_Lock_Prefix_
add ebx, 0x100
push ebx
call esi
add dword [edi], 2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10039034
push ebx
call esi
push 0x10039068
lea eax, [ebx + 0x200]
push eax
call esi
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x241], cl
push str.Pop_IP
add ebx, 0x100
push ebx
call esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x30]
push eax
lea edx, [ecx + esi + 1]
push edx
call fcn.1002b650
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + esi + 3]
movzx edx, word [esp + 0x40]
lea esi, [eax + esi + 3]
add esp, 0xc
push ecx
push edx
lea eax, [esp + 0x98]
push str.enter__04X___02X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx edx, byte [esi]
movzx eax, word [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0x98]
push str.C8__04X__02X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x240], 4
mov byte [ebx + 0x241], cl
add dword [edi], 3
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.leave
push ebx
call esi
push 0x100390a0
jmp 0x1002c622
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.retf
push ebx
call esi
push 0x100390a4
jmp 0x1002c183
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.int3
push ebx
call esi
push 0x100390b0
lea eax, [ebx + 0x200]
push eax
call esi
jmp 0x1002c117
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + esi + 1]
push eax
lea ecx, [esp + 0x94]
push str.int__02X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x90]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + esi + 1]
push ecx
lea edx, [esp + 0x94]
push str.CD__02X
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x1002bf16
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.into
push ebx
call esi
push 0x100390d0
lea eax, [ebx + 0x200]
push eax
call esi
jmp 0x1002c117
mov al, byte [esp + 0x28]
test al, al
jne 0x1002de7a
push str.iretd
jmp 0x1002de83
cmp al, 1
jne 0x1002de8a
push str.iretw
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x100390e4
lea edx, [ebx + 0x200]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x1002c62b
sub ecx, 0xd4
je 0x1002deba
sub ecx, 1
jne 0x1002decd
push 0x100390ec
lea ecx, [esp + 0x70]
push ecx
jmp 0x1002dec4
push 0x100390e8
lea edx, [esp + 0x70]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + esi + 1]
push ecx
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x98]
push str._s__02X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x1002bef1
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.salc
push ebx
call esi
push 0x10039100
lea eax, [ebx + 0x200]
push eax
call esi
jmp 0x1002c117
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.xlat
push ebx
call esi
push 0x1003910c
lea edx, [ebx + 0x200]
push edx
call esi
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*8]
mov ecx, dword [eax*4 + 0x1003d184]
mov eax, dword [edx*4 + 0x1003d1f4]
push ecx
push eax
lea ecx, [esp + 0x98]
push str.Byte_ptr__s:__sal_
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x100]
push eax
call esi
jmp 0x1002c117
mov cl, byte [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov byte [esp + 0x75], al
lea eax, [esp + 0x6c]
mov byte [esp + 0x6c], 0
call fcn.100246d0
cmp byte [esp + 0x28], 0
jne 0x1002dfb9
mov ecx, dword [0x1003d1c0]
jmp 0x1002dfc6
cmp byte [esp + 0x28], 1
jne 0x1002dffb
mov ecx, dword [0x1003d19c]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + esi + 1]
push eax
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x9c]
push str._s__s___02X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + esi + 1]
push eax
push 0xe5
lea ecx, [esp + 0x98]
push str._02X_02X
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0x10
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call esi
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x240], 2
mov byte [ebx + 0x241], cl
push str.I_O_Instruction
add ebx, 0x100
push ebx
call esi
inc dword [edi]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov cl, byte [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x85], eax
mov dword [esp + 0x89], eax
mov byte [esp + 0x8d], al
lea eax, [esp + 0x84]
mov byte [esp + 0x84], 0
call fcn.100246d0
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + esi + 1]
push eax
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x98]
push str._s__02X__al
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [esp + 0x90]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x14]
lea eax, [ebx + 0x100]
mov byte [eax], 0
movzx edx, byte [ecx + esi + 1]
push edx
push 0xe6
mov dword [esp + 0x74], eax
lea eax, [esp + 0x98]
push str._02X_02X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0x10
lea ecx, [esp + 0x90]
push ecx
lea edx, [ebx + 0x200]
push edx
call esi
mov ecx, dword [esp + 0x6c]
mov al, byte [esp + 0x10]
push str.I_O_Instruction
mov byte [ebx + 0x240], 2
push ecx
mov byte [ebx + 0x241], al
call esi
inc dword [edi]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov cl, byte [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov byte [esp + 0x75], al
lea eax, [esp + 0x6c]
mov byte [esp + 0x6c], 0
call fcn.100246d0
cmp byte [esp + 0x28], 0
jne 0x1002e17f
mov edx, dword [0x1003d1c0]
jmp 0x1002e18c
cmp byte [esp + 0x28], 1
jne 0x1002e1c1
mov edx, dword [0x1003d19c]
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + esi + 1]
push edx
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x9c]
push str._s__02X___s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + esi + 1]
push eax
push 0xe7
jmp 0x1002e00a
sub ecx, 0xe8
je 0x1002e1f1
sub ecx, 1
jne 0x1002e20a
mov edx, dword [0x10037f24]
mov dword [esp + 0x84], edx
jmp 0x1002e20a
mov eax, dword [str.call]
mov cl, byte [0x10037f38]
mov dword [esp + 0x84], eax
mov byte [esp + 0x88], cl
cmp byte [esp + 0x28], 0
mov ecx, dword [esp + 0x14]
jne 0x1002e2cc
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x4c]
push eax
lea edx, [ecx + esi + 1]
push edx
call fcn.1002b690
mov eax, dword [ebx + 0x23c]
add eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ecx + eax + 5]
push eax
lea edx, [esp + 0x88]
push edx
lea eax, [esp + 0x98]
push str._s__08X
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x98]
push str._02X__08X
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0x90]
push edx
lea eax, [ebx + 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x240], 5
mov byte [ebx + 0x241], cl
add dword [edi], 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x30]
push eax
lea edx, [ecx + esi + 1]
push edx
call fcn.1002b650
mov eax, dword [esp + 0x40]
mov ecx, 0xf000
add esp, 0xc
movzx edx, ax
cmp ax, cx
jb 0x1002e305
sub edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x10]
lea eax, [edx + eax - 0xeffc]
jmp 0x1002e31a
mov ecx, dword [ebx + 0x23c]
sub ecx, dword [esp + 0x6c]
add ecx, dword [esp + 0x10]
lea eax, [edx + ecx - 0x3ffffc]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x98]
push str._s__08X
push ecx
call esi
add esp, 0x10
jmp 0x1002c07b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.in_al__dx
push ebx
call esi
push 0x10039164
lea eax, [ebx + 0x200]
push eax
call esi
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x241], cl
push str.I_O_Instruction
add ebx, 0x100
push ebx
call esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x1003d178]
push eax
lea ecx, [esp + 0x94]
push str.in__s__dx
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0xc
lea edx, [esp + 0x90]
push edx
push ebx
call esi
push 0x10039174
jmp 0x1002e353
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.out_dx__al
push ebx
call esi
push 0x10039184
lea edx, [ebx + 0x200]
push edx
call esi
mov al, byte [esp + 0x10]
mov byte [ebx + 0x241], al
jmp 0x1002e366
mov eax, dword [esp + 0x20]
lea ecx, [eax + eax*8]
mov edx, dword [ecx*4 + 0x1003d178]
push edx
lea eax, [esp + 0x94]
push str.out_dx___s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0xc
lea ecx, [esp + 0x90]
push ecx
push ebx
call esi
push 0x10039194
jmp 0x1002e3d9
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.int1
push ebx
call esi
push 0x100391a0
lea ecx, [ebx + 0x200]
push ecx
call esi
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x241], dl
push str._icebp_
jmp 0x1002e36b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x100391ac
push ebx
call esi
push 0x100391b0
lea eax, [ebx + 0x200]
push eax
call esi
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x241], cl
push str.Halts_CPU_until_RESET
jmp 0x1002e36b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x100391cc
push ebx
call esi
push 0x100391b0
lea edx, [ebx + 0x200]
push edx
call esi
mov al, byte [esp + 0x10]
mov byte [ebx + 0x241], al
push str.inverts_the_Carry_Flag
jmp 0x1002e36b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x100391e8
push ebx
call esi
push 0x100391ec
lea ecx, [ebx + 0x200]
push ecx
call esi
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x241], dl
push str.Clears_the_Carry_Flag
jmp 0x1002e36b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10039208
push ebx
call esi
push 0x1003920c
lea eax, [ebx + 0x200]
push eax
call esi
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x241], cl
push str.Sets_the_Carry_Flag_to_1
jmp 0x1002e36b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x1003922c
push ebx
call esi
push 0x10039230
lea edx, [ebx + 0x200]
push edx
call esi
mov al, byte [esp + 0x10]
mov byte [ebx + 0x241], al
push str.Set_Interrupt_flag_to_0
jmp 0x1002e36b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x1003924c
push ebx
call esi
push 0x10039250
lea ecx, [ebx + 0x200]
push ecx
call esi
mov dl, byte [esp + 0x10]
mov byte [ebx + 0x241], dl
push str.Set_Interrupt_flag_to_1
jmp 0x1002e36b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x1003926c
push ebx
call esi
push 0x10039270
lea eax, [ebx + 0x200]
push eax
call esi
mov cl, byte [esp + 0x10]
mov byte [ebx + 0x241], cl
push str.Set_Direction_Flag_to_0
jmp 0x1002e36b
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x1003928c
push ebx
call esi
push 0x10039290
lea edx, [ebx + 0x200]
push edx
call esi
mov al, byte [esp + 0x10]
mov byte [ebx + 0x241], al
push str.Set_Direction_Flag_to_1
jmp 0x1002e36b
mov edx, dword [esp + 0x14]
mov al, byte [edx + esi - 3]
inc dword [esp + 0x10]
movzx ecx, al
lea eax, [ecx - 0x26]
cmp eax, 0x3f
ja case.0x1002e5fc.39
movzx eax, byte [eax + 0x1002eafc]
jmp dword [eax*4 + 0x1002eae0]
mov dword [esp + 0x24], 1
jmp case.0x1002e5fc.39
mov dword [esp + 0x24], 2
jmp case.0x1002e5fc.39
mov dword [esp + 0x24], 3
jmp case.0x1002e5fc.39
mov dword [esp + 0x24], 0
jmp case.0x1002e5fc.39
mov dword [esp + 0x24], 4
jmp case.0x1002e5fc.39
mov dword [esp + 0x24], 5
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
lea ecx, [esp + 0x94]
push str._02X:
push ecx
mov byte [ebx], 0
call esi
lea eax, [esp + 0x9c]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add esp, 0xc
add edx, 0x200
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002e670
mov edx, dword [esp + 0x24]
mov eax, dword [edx*4 + 0x1003d1f4]
push eax
lea ecx, [esp + 0x94]
push str.Prefix__s:
push ecx
call esi
lea eax, [esp + 0x9c]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add esp, 0xc
add edx, 0x100
jmp 0x1002e6b0
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1002e6b0
mov edx, dword [esp + 0x10]
mov byte [ebx + 0x240], cl
mov byte [ebx + 0x241], 1
sub dword [edi], edx
mov ecx, dword [esp + 0x294]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10031c98
mov esp, ebp
pop ebp
ret