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

Disassembly:
sub esp, 0x220
mov eax, dword [0x1003d090]
xor eax, esp
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x230]
push ebx
mov ebx, dword [esp + 0x228]
push ebp
push esi
mov esi, dword [esp + 0x234]
mov dword [esp + 0x30], eax
movzx eax, byte [0x100384ec]
push edi
mov dword [esp + 0x24], ecx
mov cx, word [0x10037fec]
mov byte [esp + 0x58], al
xor eax, eax
push 0x7f
mov edi, edx
mov edx, dword [str.byte]
mov word [esp + 0x50], cx
mov word [esp + 0x64], cx
push eax
lea ecx, [esp + 0x101]
push ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], 0
mov byte [esp + 0x26], 0
mov dword [esp + 0x60], edx
mov dword [esp + 0x65], eax
mov byte [esp + 0x69], al
mov word [esp + 0x5a], ax
mov byte [esp + 0x5c], al
mov word [esp + 0x6e], ax
mov byte [esp + 0x70], al
mov byte [esp + 0x1f], al
mov byte [esp + 0x104], al
call sub.MSVCR90.dll_memset
push 0x7f
lea edx, [esp + 0x189]
push 0
push edx
mov byte [esp + 0x190], 0
call sub.MSVCR90.dll_memset
xor eax, eax
push 0x7f
push eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov word [esp + 0x115], ax
mov byte [esp + 0x88], al
lea eax, [esp + 0x89]
push eax
mov byte [esp + 0x10c], 0
call sub.MSVCR90.dll_memset
push 0x31
lea ecx, [esp + 0x221]
push 0
push ecx
mov byte [esp + 0x228], 0
call sub.MSVCR90.dll_memset
mov edx, dword [ebx]
mov al, byte [esi + edx + 1]
lea ebp, [esi + edx]
mov cl, al
shr al, 6
mov byte [esp + 0x53], al
movzx eax, byte [ebp]
shr cl, 3
and cl, 7
add eax, 0xffffffe0
add esp, 0x30
mov byte [esp + 0x12], cl
mov ecx, dword [str.Dword]
cmp eax, 0xdf
ja case.0x100203e7.33
movzx eax, byte [eax + 0x100241c8]
jmp dword [eax*4 + 0x10024154]
mov byte [esp + 0x250], 0
cmp byte [esp + 0x248], 1
jne case.0x1002078d.1
lea edx, [esp + 0x54]
mov dword [esp + 0x38], 2
mov eax, ecx
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020410
cmp byte [esp + 0x250], 1
jne 0x1002048a
cmp byte [esp + 0x1a], 0
jne 0x1002048a
push str.Byte
lea ecx, [esp + 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x1002048a
mov eax, dword [str.Word]
lea edx, [esp + 0x54]
mov dword [esp + 0x38], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020452
mov al, byte [esp + 0x24c]
cmp al, 0x62
je 0x1002046f
cmp al, 0xc4
je 0x1002046f
cmp al, 0xc5
jne 0x1002048a
mov eax, dword [str.Dword]
lea edx, [esp + 0x54]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020480
mov edx, dword [ebx]
lea eax, [esi + edx]
mov dl, byte [eax + 1]
movzx ecx, dl
and ecx, 7
cmp byte [esp + 0x258], 1
jne 0x10021c90
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, dl
mov cl, dl
shr al, 3
and cl, 0xf
and al, 7
cmp byte [esp + 0x24c], 0x8f
mov byte [esp + 0x13], cl
mov byte [esp + 0x1a], al
jne 0x100204e1
test al, al
je 0x100204e1
mov eax, dword [edi]
push str.Invalid_Instruction
add eax, 0x100
push eax
call esi
mov cl, byte [esp + 0x13]
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, cl
cmp eax, 0xf
ja case.default.0x100204fa
movzx ecx, byte [eax + 0x100242c8]
jmp dword [ecx*4 + 0x100242a8]
lea edx, [esp + 0x54]
mov ebp, ecx
sub edx, ecx
lea esp, [esp]
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020510
jmp case.0x100203e7.33
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 0
mov ebp, ecx
sub edx, ecx
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020536
jmp 0x10020400
mov eax, dword [str.Qword]
lea edx, [esp + 0x54]
mov dword [esp + 0x38], 2
mov byte [esp + 0x244], 1
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020561
jmp case.0x1002078d.1
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 0
mov ebp, ecx
sub edx, ecx
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020586
jmp 0x10020400
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 0
mov ebp, ecx
sub edx, ecx
lea esp, [esp]
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x100205b0
jmp 0x10020400
mov byte [esp + 0x244], 0
jmp case.0x1002078d.1
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 0
mov ebp, ecx
sub edx, ecx
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x100205e3
jmp 0x10020400
mov eax, dword [str.Byte]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020606
jmp case.0x1002078d.1
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 0
mov ebp, ecx
sub edx, ecx
jmp 0x10020630
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020630
jmp 0x10020400
lea edx, [esp + 0x54]
mov ebp, ecx
sub edx, ecx
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020648
jmp case.0x100203e7.33
mov ebp, dword [str.Word]
lea edx, [esp + 0x54]
sub edx, ebp
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020664
jmp case.0x100203e7.33
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 1
mov ebp, ecx
sub edx, ecx
lea ebx, [ebx]
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020690
jmp 0x10020400
mov byte [esp + 0x244], 1
jmp case.0x1002078d.1
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 1
mov ebp, ecx
sub edx, ecx
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x100206c3
jmp 0x10020400
mov eax, dword [str.Fword]
lea edx, [esp + 0x54]
mov dword [esp + 0x38], 2
mov byte [esp + 0x244], 1
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100206f0
jmp case.0x1002078d.1
mov eax, dword [str.Byte]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020712
jmp case.0x1002078d.1
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 0
mov ebp, ecx
sub edx, ecx
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020737
jmp 0x10020400
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x1a], 1
mov byte [esp + 0x244], 0
mov ebp, ecx
sub edx, ecx
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020762
jmp 0x10020400
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x1a], 1
mov byte [esp + 0x244], 0
cmp eax, 7
ja case.0x1002078d.1
jmp dword [eax*4 + 0x100242d8]
mov eax, dword [str.Dword]
lea edx, [esp + 0x54]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100207a0
jmp case.0x1002078d.1
mov eax, dword [str._28_Byte]
lea edx, [esp + 0x54]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100207c0
jmp case.0x1002078d.1
mov eax, dword [str.Word]
lea edx, [esp + 0x54]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100207e0
jmp case.0x1002078d.1
mov ecx, dword [str.Dword]
lea edx, [esp + 0x54]
mov byte [esp + 0x1a], 1
mov byte [esp + 0x244], 0
mov ebp, ecx
sub edx, ecx
lea ebx, [ebx]
mov al, byte [ebp]
mov byte [edx + ebp], al
inc ebp
test al, al
jne 0x10020810
jmp 0x10020400
cmp byte [esp + 0x12], 4
mov byte [esp + 0x1a], 1
mov byte [esp + 0x244], 0
lea edx, [esp + 0x54]
jae 0x1002084f
mov eax, dword [str.Dword]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020840
jmp case.0x1002078d.1
mov eax, dword [str.TByte]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020856
jmp case.0x1002078d.1
mov eax, dword [str.Qword]
lea edx, [esp + 0x54]
mov byte [esp + 0x1a], 1
mov byte [esp + 0x244], 0
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020880
jmp case.0x1002078d.1
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x1a], 1
mov byte [esp + 0x244], 0
cmp eax, 7
ja case.0x1002078d.1
jmp dword [eax*4 + 0x100242f8]
mov eax, dword [str.Qword]
lea edx, [esp + 0x54]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100208c0
jmp case.0x1002078d.1
mov eax, dword [str._108_Byte]
lea edx, [esp + 0x54]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100208e0
jmp case.0x1002078d.1
mov eax, dword [str.Word]
lea edx, [esp + 0x54]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020900
jmp case.0x1002078d.1
mov eax, dword [str.Word]
lea edx, [esp + 0x54]
mov byte [esp + 0x1a], 1
mov byte [esp + 0x244], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020927
jmp case.0x1002078d.1
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x1a], 1
mov byte [esp + 0x244], 0
cmp eax, 7
ja case.0x1002078d.1
jmp dword [eax*4 + 0x10024318]
mov eax, dword [str.Word]
lea edx, [esp + 0x54]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020963
jmp case.0x1002078d.1
mov eax, dword [str.TByte]
lea edx, [esp + 0x54]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020980
jmp case.0x1002078d.1
mov eax, dword [str.Qword]
lea edx, [esp + 0x54]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100209a0
jmp case.0x1002078d.1
mov eax, dword [str.Byte]
lea edx, [esp + 0x54]
mov byte [esp + 0x244], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100209c2
jmp case.0x1002078d.1
mov al, byte [esp + 0x12]
mov byte [esp + 0x244], 0
cmp al, 3
je 0x100209ff
cmp al, 5
je 0x100209ff
mov eax, dword [str.Dword]
lea edx, [esp + 0x54]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100209f0
jmp case.0x1002078d.1
mov eax, dword [str.Fword]
lea edx, [esp + 0x54]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10020a10
jmp case.0x1002078d.1
mov edx, dword [str.BXSI]
push edx
push 0x100376bc
lea eax, [esp + 0xf0]
push eax
jmp 0x10020b31
mov ecx, dword [str.BXDI]
push ecx
push 0x100376bc
lea edx, [esp + 0xf0]
push edx
jmp 0x10020b31
mov eax, dword [str.BPSI]
push eax
lea ecx, [esp + 0xec]
push 0x100376bc
push ecx
call ebp
mov dword [esp + 0x248], 2
jmp 0x10020b33
mov edx, dword [str.BPDI]
push edx
lea eax, [esp + 0xec]
push 0x100376bc
push eax
call ebp
mov dword [esp + 0x248], 2
jmp 0x10020b33
mov ecx, dword [0x1003d2ec]
push ecx
push 0x100376bc
lea edx, [esp + 0xf0]
push edx
jmp 0x10020b31
mov eax, dword [0x1003d2f0]
jmp 0x10020b23
cmp byte [esp + 0x23], 0
jne 0x10020afd
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push eax
lea eax, [edx + ecx + 2]
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x28]
push ecx
lea edx, [esp + 0xf8]
push str._04X
push edx
call ebp
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
add esp, 0x18
add dword [eax], 2
jmp case.default.0x100204fa
mov ecx, dword [0x1003d2f8]
push ecx
push 0x100376bc
lea edx, [esp + 0xf0]
mov dword [esp + 0x244], 2
push edx
jmp 0x10020b31
mov eax, dword [0x1003d2f4]
push eax
push 0x100376bc
lea ecx, [esp + 0xf0]
push ecx
call ebp
add esp, 0xc
mov cl, byte [esp + 0x23]
movzx eax, cl
mov dword [esp + 0x48], eax
sub eax, 0
je 0x10020cf1
sub eax, 1
je 0x10020c25
sub eax, 1
jne 0x10020ddc
mov edx, ebx
mov eax, dword [edx]
add eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
pushal
mov edi, dword [esp + 0x4c]
mov eax, dword [edi]
mov dword [esp + 0x64], eax
bswap eax
mov dword [esp + 0x48], eax
popal
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x28]
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x38]
lea ecx, [eax + edx + 2]
push ecx
mov dword [esp + 0x38], esi
call fcn.1002b650
push esi
lea edx, [esp + 0x108]
push str._08X
push edx
call ebp
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
add esp, 0x18
mov byte [ecx + 0x240], 4
mov eax, dword [eax]
lea edx, [esp + 0xf8]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, word [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x240]
lea edx, [esp + 0x50]
push edx
mov edx, dword [ecx*4 + 0x1003d2bc]
lea eax, [esp + 0xf0]
push eax
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x18c]
push str._s_ptr__s:__s_s_04X_
push ecx
call ebp
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
add esp, 0x1c
add dword [eax], 2
jmp 0x10020dca
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [eax + edx + 1]
push ecx
call fcn.1002b650
mov al, byte [esp + 0x20]
add esp, 0xc
mov byte [esp + 0x13], al
cmp al, 0x7f
jbe 0x10020c6e
mov edx, dword [0x1003d214]
push edx
lea eax, [esp + 0x50]
push 0x100376bc
push eax
call ebp
mov al, byte [esp + 0x20]
add esp, 0xc
neg al
mov byte [esp + 0x13], al
movzx ecx, word [esp + 0x14]
movzx edx, byte [esp + 0x24c]
push ecx
push edx
lea eax, [esp + 0x100]
push str._02X_04X
push eax
call ebp
mov edx, dword [edi]
add esp, 0x10
lea ecx, [esp + 0xf8]
push ecx
add edx, 0x200
push edx
call esi
movzx eax, byte [esp + 0x13]
push eax
mov eax, dword [esp + 0x240]
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [eax*4 + 0x1003d2bc]
lea edx, [esp + 0xf0]
push edx
push ecx
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x18c]
push str._s_ptr__s:__s_s_02X_
push eax
call ebp
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
add esp, 0x1c
inc dword [eax]
mov edx, dword [edi]
mov byte [edx + 0x240], 3
jmp 0x10020dd8
mov ecx, dword [esp + 0x23c]
mov edx, dword [ecx*4 + 0x1003d2bc]
lea eax, [esp + 0xe8]
push eax
push edx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x184]
push str._s_ptr__s:__s_
push ecx
call ebp
mov edx, ebx
mov eax, dword [edx]
add eax, dword [esp + 0x44]
add esp, 0x14
mov dword [esp + 0x2c], eax
pushal
mov edi, dword [esp + 0x4c]
mov eax, dword [edi]
mov dword [esp + 0x48], eax
bswap eax
mov dword [esp + 0x64], eax
popal
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x1c]
push edx
mov edx, dword [ecx]
add edx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push eax
push edx
mov dword [esp + 0x38], esi
call fcn.1002b650
mov ax, word [esp + 0x20]
mov cl, al
and cl, 0xf
add esp, 0xc
lea edx, [esp + 0xf8]
cmp cl, 6
jne 0x10020d98
push esi
push str._08X
push edx
call ebp
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
mov byte [ecx + 0x240], 4
jmp 0x10020db1
movzx ecx, ax
push ecx
push str._04X
push edx
call ebp
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
mov byte [ecx + 0x240], 2
mov eax, dword [eax]
add esp, 0xc
lea edx, [esp + 0xf8]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov cl, byte [esp + 0x23]
movzx eax, byte [esp + 0x244]
sub eax, 0
je 0x1002109d
sub eax, 1
jne 0x10021c83
movzx eax, byte [esp + 0x24c]
add eax, 0xffffff72
cmp eax, 0x37
ja case.0x10020e13.144
movzx ecx, byte [eax + 0x10024350]
jmp dword [ecx*4 + 0x10024338]
movzx eax, byte [esp + 0x12]
mov ecx, dword [eax*4 + 0x1003d2bc]
lea edx, [esp + 0x178]
push edx
mov edx, dword [esp + 0x28]
push ecx
push edx
push str._s__s__s
lea eax, [esp + 0x108]
push eax
jmp 0x10021069
mov eax, dword [esp + 0x48]
sub eax, 0
je 0x10020f62
sub eax, 1
je 0x10020ee3
sub eax, 1
jne 0x1002106e
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x18]
push edx
lea edx, [ecx + eax + 3]
push edx
call fcn.1002b650
movzx ebx, byte [esp + 0x20]
movzx ecx, byte [esp + 0x1e]
mov edx, dword [ecx*4 + 0x1003d31c]
push ebx
lea eax, [esp + 0x188]
push eax
push edx
lea eax, [esp + 0x110]
push str._s__s__02X
push eax
call ebp
push ebx
lea ecx, [esp + 0x19c]
push str.__02X
push ecx
call ebp
mov eax, dword [edi]
add esp, 0x2c
lea edx, [esp + 0x178]
push edx
add eax, 0x200
push eax
call esi
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
inc dword [eax]
mov eax, dword [edi]
inc byte [eax + 0x240]
jmp 0x1002106e
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push eax
lea eax, [edx + ecx + 2]
push eax
call fcn.1002b650
movzx ebx, byte [esp + 0x20]
movzx edx, byte [esp + 0x1e]
mov eax, dword [edx*4 + 0x1003d31c]
push ebx
lea ecx, [esp + 0x188]
push ecx
push eax
lea ecx, [esp + 0x110]
push str._s__s__02X
push ecx
call ebp
push ebx
lea edx, [esp + 0x19c]
push str.__02X
push edx
call ebp
mov ecx, dword [edi]
add esp, 0x2c
lea eax, [esp + 0x178]
push eax
add ecx, 0x200
push ecx
call esi
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
inc dword [eax]
mov eax, dword [edi]
inc byte [eax + 0x240]
jmp 0x1002106e
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [eax + edx + 1]
push ecx
call fcn.1002b650
movzx ebx, byte [esp + 0x20]
movzx eax, byte [esp + 0x1e]
mov ecx, dword [eax*4 + 0x1003d31c]
push ebx
lea edx, [esp + 0x188]
push edx
push ecx
lea edx, [esp + 0x110]
push str._s__s__02X
push edx
call ebp
push ebx
lea eax, [esp + 0x19c]
push str.__02X
push eax
call ebp
mov edx, dword [edi]
add esp, 0x2c
lea ecx, [esp + 0x178]
push ecx
add edx, 0x200
push edx
call esi
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
inc dword [eax]
mov eax, dword [edi]
inc byte [eax + 0x240]
jmp 0x1002106e
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x178]
push ecx
push edx
lea eax, [esp + 0x100]
push 0x100381ac
push eax
call ebp
add esp, 0x10
jmp 0x1002106e
mov ecx, dword [esp + 0x24]
mov dword [ecx], 0x73656c
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x178]
push edx
movzx edx, byte [esp + 0x16]
lea eax, [eax + eax*8]
add eax, edx
mov eax, dword [eax*4 + 0x1003d228]
push eax
push ecx
jmp 0x1002105c
mov ecx, dword [esp + 0x24]
mov dword [ecx], 0x73646c
jmp 0x1002100c
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x12]
lea eax, [eax + eax*8]
lea edx, [esp + 0x178]
push edx
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
mov eax, dword [esp + 0x28]
push edx
push eax
push str._s__s__s
lea ecx, [esp + 0x108]
push ecx
call ebp
add esp, 0x14
xor eax, eax
mov cl, byte [esp + eax + 0xf8]
mov byte [esp + eax + 0x178], cl
inc eax
test cl, cl
jne 0x10021070
mov eax, dword [edi]
lea edx, [esp + 0x178]
push edx
push eax
call esi
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
inc dword [eax]
jmp 0x10024139
movzx eax, byte [esp + 0x24c]
add eax, 0xffffff97
cmp eax, 0x96
ja case.0x100210ba.106
movzx edx, byte [eax + 0x100243cc]
jmp dword [edx*4 + 0x10024388]
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x34]
cmp cl, 1
jne 0x100210dc
lea ecx, [esp + 0x18]
push ecx
lea ecx, [eax + edx + 2]
jmp 0x100210ee
cmp cl, 2
lea ecx, [esp + 0x18]
push ecx
lea ecx, [eax + edx + 3]
je 0x100210ee
lea ecx, [eax + edx + 1]
push ecx
call fcn.1002b650
mov bl, byte [esp + 0x20]
movzx edx, bl
push edx
lea eax, [esp + 0x78]
push str._02X
push eax
mov byte [esp + 0x2b], bl
call ebp
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call esi
cmp bl, 0x7f
jbe 0x1002113d
mov eax, dword [0x1003d214]
push eax
lea ecx, [esp + 0x50]
push 0x100376bc
push ecx
neg bl
call ebp
add esp, 0xc
jmp 0x10021146
mov bl, byte [esp + 0x13]
mov byte [esp + 0x4c], 0
mov edx, dword [str.imul]
mov eax, dword [esp + 0x24]
mov dword [eax], edx
mov cl, byte [0x10037f58]
mov byte [eax + 4], cl
movzx edx, bl
push edx
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x180]
push edx
lea ecx, [ecx + ecx*8]
mov edx, dword [ecx*4 + 0x1003d228]
push edx
push eax
lea eax, [esp + 0x7c]
push str._s__s__s__s_02X
push eax
call ebp
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
inc dword [eax]
mov eax, dword [edi]
add esp, 0x1c
inc byte [eax + 0x240]
jmp 0x10021c79
test cl, cl
jne 0x10021256
cmp byte [esp + 0x250], cl
jne 0x10021203
mov ecx, dword [ebx]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x30]
push eax
lea eax, [edx + ecx + 2]
push eax
call fcn.1002b690
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x78]
push str.__08X
push edx
call ebp
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call esi
mov edx, dword [esp + 0x28]
push edx
push str._08X
lea eax, [esp + 0x70]
push eax
jmp 0x100213ba
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x18]
push edx
lea edx, [ecx + eax + 2]
push edx
call fcn.1002b650
movzx eax, word [esp + 0x20]
push eax
lea ecx, [esp + 0x78]
push str.__04X
push ecx
call ebp
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call esi
movzx ecx, word [esp + 0x1c]
push ecx
push str._04X
lea edx, [esp + 0x70]
push edx
jmp 0x100213ba
cmp cl, 1
jne 0x1002130a
cmp byte [esp + 0x250], 0
jne 0x100212b6
mov edx, dword [ebx]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [eax + edx + 3]
push ecx
call fcn.1002b690
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x78]
push str.__08X
push eax
call ebp
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call esi
mov eax, dword [esp + 0x28]
push eax
push str._08X
jmp 0x100213b5
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push eax
lea eax, [edx + ecx + 3]
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x20]
push ecx
lea edx, [esp + 0x78]
push str.__04X
push edx
call ebp
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call esi
movzx edx, word [esp + 0x1c]
push edx
push str._04X
lea eax, [esp + 0x70]
push eax
jmp 0x100213ba
cmp cl, 2
jne 0x100213bf
cmp byte [esp + 0x250], 0
jne 0x1002136b
mov eax, dword [ebx]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x30]
push edx
lea edx, [ecx + eax + 4]
push edx
call fcn.1002b690
mov eax, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x78]
push str.__08X
push ecx
call ebp
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call esi
mov ecx, dword [esp + 0x28]
push ecx
push str._08X
lea edx, [esp + 0x70]
push edx
jmp 0x100213ba
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [eax + edx + 4]
push ecx
call fcn.1002b650
movzx edx, word [esp + 0x20]
push edx
lea eax, [esp + 0x78]
push str.__04X
push eax
call ebp
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call esi
movzx eax, word [esp + 0x1c]
push eax
push str._04X
lea ecx, [esp + 0x70]
push ecx
call ebp
add esp, 0xc
mov al, byte [esp + 0x24c]
cmp al, 0xc7
jne 0x100213f2
cmp byte [esp + 0x1a], 0
je 0x100213e1
mov edx, dword [edi]
push str.Invalid_Instruction
add edx, 0x100
push edx
call esi
mov eax, dword [esp + 0x24]
push 0x1003811c
push 0x100376bc
push eax
jmp 0x1002142a
cmp al, 0x69
jne 0x10021413
mov eax, dword [esp + 0x38]
movzx edx, byte [esp + 0x1a]
lea ecx, [eax + eax*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x1003d228]
push eax
push str.imul__s_
jmp 0x10021425
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d2fc]
push eax
push 0x100376bc
mov ecx, dword [esp + 0x2c]
push ecx
call ebp
mov ecx, dword [esp + 0x30]
add esp, 0xc
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0x17c]
push eax
push ecx
lea edx, [esp + 0x104]
push str._s__s__s
push edx
call ebp
add esp, 0x14
xor eax, eax
jmp 0x10021460
mov cl, byte [esp + eax + 0xf8]
mov byte [esp + eax + 0x68], cl
inc eax
test cl, cl
jne 0x10021460
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
add dword [eax], 4
mov eax, dword [edi]
add byte [eax + 0x240], 4
jmp 0x10021c79
mov eax, dword [ebx]
lea edx, [esp + 0x14]
cmp cl, 1
jne 0x100214a2
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x34]
push edx
lea edx, [ecx + eax + 2]
jmp 0x100214b9
cmp cl, 2
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x34]
push edx
lea edx, [ecx + eax + 4]
je 0x100214b9
lea edx, [ecx + eax + 1]
push edx
call fcn.1002b650
mov bl, byte [esp + 0x20]
movzx eax, bl
push eax
lea ecx, [esp + 0x78]
push str._02X
push ecx
mov byte [esp + 0x2b], bl
call ebp
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call esi
mov al, byte [esp + 0x24c]
mov byte [esp + 0x4c], 0
cmp al, 0x82
je 0x100214fd
cmp al, 0x83
jne 0x10021525
cmp bl, 0x7f
jbe 0x10021525
mov ecx, dword [0x1003d214]
push ecx
lea edx, [esp + 0x50]
push 0x100376bc
push edx
call ebp
mov al, byte [esp + 0x258]
add esp, 0xc
neg bl
mov byte [esp + 0x13], bl
cmp al, 0xc6
jne 0x10021546
cmp byte [esp + 0x1a], 0
je 0x1002153f
mov eax, dword [edi]
push str.Invalid_Instruction_
add eax, 0x100
push eax
call esi
push 0x1003811c
jmp 0x10021553
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d2fc]
push edx
mov ebx, dword [esp + 0x28]
push 0x100376bc
push ebx
call ebp
movzx eax, byte [esp + 0x1f]
add esp, 0xc
push eax
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x180]
push edx
push ebx
lea eax, [esp + 0x78]
push str._s__s__s_02X
push eax
call ebp
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
inc dword [eax]
mov eax, dword [edi]
add esp, 0x18
inc byte [eax + 0x240]
jmp 0x10021c79
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d2bc]
mov edx, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x17c]
push ecx
push edx
push str._s__s__s
lea eax, [esp + 0x78]
push eax
jmp 0x10021c74
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d31c]
lea ecx, [esp + 0x178]
push ecx
push eax
lea ecx, [esp + 0x70]
push str._s__s_1
push ecx
call ebp
add esp, 0x10
jmp 0x10021c79
movzx eax, byte [esp + 0x12]
mov ecx, dword [eax*4 + 0x1003d31c]
lea edx, [esp + 0x178]
push edx
push ecx
lea edx, [esp + 0x70]
push str._s__s_cl
push edx
call ebp
add esp, 0x10
jmp 0x10021c79
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d3bc]
lea eax, [esp + 0x178]
push eax
push edx
lea eax, [esp + 0x70]
push 0x100381ac
push eax
call ebp
add esp, 0x10
jmp 0x10021c79
mov al, byte [esp + 0x12]
test al, al
jne 0x1002165c
cmp byte [esp + 0x1a], al
je 0x10021670
mov ecx, dword [edi]
push str.Invalid_Instruction
add ecx, 0x100
push ecx
jmp 0x1002166e
cmp al, 1
jne 0x10021670
mov edx, dword [edi]
push str.Invalid_Instruction
add edx, 0x100
push edx
call esi
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d3fc]
lea eax, [esp + 0x178]
push eax
push edx
lea eax, [esp + 0x70]
push 0x100381ac
push eax
call ebp
add esp, 0x10
jmp 0x10021c79
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d3dc]
lea ecx, [esp + 0x178]
push ecx
push eax
lea ecx, [esp + 0x70]
push 0x100381ac
push ecx
call ebp
add esp, 0x10
jmp 0x10021c79
mov al, byte [esp + 0x12]
cmp al, 1
je 0x100216d2
cmp al, 4
je 0x100216d2
cmp al, 6
jne 0x100216e2
mov edx, dword [edi]
push str.Invalid_Instruction
add edx, 0x100
push edx
call esi
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d41c]
lea eax, [esp + 0x178]
push eax
push edx
lea eax, [esp + 0x70]
push 0x100381ac
push eax
call ebp
add esp, 0x10
jmp 0x10021c79
mov al, byte [esp + 0x12]
cmp al, 1
je 0x10021717
cmp al, 5
jne 0x10021727
mov ecx, dword [edi]
push str.Invalid_Instruction
add ecx, 0x100
push ecx
call esi
movzx eax, byte [esp + 0x12]
mov ecx, dword [eax*4 + 0x1003d43c]
lea edx, [esp + 0x178]
push edx
push ecx
lea edx, [esp + 0x70]
push 0x100381ac
push edx
call ebp
add esp, 0x10
jmp 0x10021c79
cmp byte [esp + 0x12], 1
jne 0x10021766
mov eax, dword [edi]
push str.Invalid_Instruction
add eax, 0x100
push eax
call esi
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d45c]
lea ecx, [esp + 0x178]
push ecx
push eax
lea ecx, [esp + 0x70]
push 0x100381ac
push ecx
call ebp
add esp, 0x10
jmp 0x10021c79
cmp cl, 1
jne 0x100217d5
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push eax
lea eax, [edx + ecx + 2]
push eax
call fcn.1002b650
movzx ebx, byte [esp + 0x20]
push ebx
lea ecx, [esp + 0x78]
push str._02X
push ecx
call ebp
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
jmp 0x10021856
cmp cl, 2
jne 0x10021819
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x18]
push edx
lea edx, [ecx + eax + 4]
push edx
call fcn.1002b650
movzx ebx, byte [esp + 0x20]
push ebx
lea eax, [esp + 0x78]
push str._02X
push eax
call ebp
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
jmp 0x10021856
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [eax + edx + 1]
push ecx
call fcn.1002b650
movzx ebx, byte [esp + 0x20]
push ebx
lea edx, [esp + 0x78]
push str._02X
push edx
call ebp
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call esi
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d33c]
mov ecx, dword [esp + 0x24]
push eax
push 0x100376bc
push ecx
mov byte [esp + 0x58], 0
call ebp
mov al, byte [esp + 0x26]
add esp, 0xc
test al, al
je 0x100218a6
cmp al, 1
je 0x100218a6
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x178]
push edx
push eax
lea ecx, [esp + 0x70]
push 0x100381ac
push ecx
call ebp
add esp, 0x10
jmp 0x10021c79
mov ecx, dword [esp + 0x24]
push ebx
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x180]
push eax
push ecx
lea edx, [esp + 0x78]
push str._s__s__s_02X
push edx
call ebp
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
inc dword [eax]
mov eax, dword [edi]
add esp, 0x18
inc byte [eax + 0x240]
jmp 0x10021c79
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d33c]
mov eax, dword [esp + 0x24]
push edx
push 0x100376bc
push eax
call ebp
add esp, 0xc
cmp byte [esp + 0x1a], 0
je 0x1002192b
cmp byte [esp + 0x1a], 1
je 0x1002192b
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x178]
push ecx
push edx
lea eax, [esp + 0x100]
push 0x100381ac
push eax
call ebp
add esp, 0x10
jmp 0x10021b82
mov al, byte [esp + 0x23]
test al, al
jne 0x100219e5
cmp byte [esp + 0x250], al
jne 0x10021991
mov eax, dword [ebx]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x30]
push edx
lea edx, [ecx + eax + 2]
push edx
call fcn.1002b690
mov eax, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x78]
push str.__08X
push ecx
call ebp
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call esi
mov ecx, dword [esp + 0x28]
push ecx
push str._08X
lea edx, [esp + 0x70]
push edx
jmp 0x10021b47
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [eax + edx + 2]
push ecx
call fcn.1002b650
movzx edx, word [esp + 0x20]
push edx
lea eax, [esp + 0x78]
push str.__04X
push eax
call ebp
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call esi
movzx eax, word [esp + 0x1c]
push eax
push str._04X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10021b47
cmp al, 1
jne 0x10021a97
cmp byte [esp + 0x250], 0
jne 0x10021a44
mov ecx, dword [ebx]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x30]
push eax
lea eax, [edx + ecx + 3]
push eax
call fcn.1002b690
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x78]
push str.__08X
push edx
call ebp
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call esi
mov edx, dword [esp + 0x28]
push edx
push str._08X
jmp 0x10021b42
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x18]
push edx
lea edx, [ecx + eax + 3]
push edx
call fcn.1002b650
movzx eax, word [esp + 0x20]
push eax
lea ecx, [esp + 0x78]
push str.__04X
push ecx
call ebp
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call esi
movzx ecx, word [esp + 0x1c]
push ecx
push str._04X
lea edx, [esp + 0x70]
push edx
jmp 0x10021b47
cmp al, 2
jne 0x10021b4c
cmp byte [esp + 0x250], 0
jne 0x10021af8
mov edx, dword [ebx]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [eax + edx + 4]
push ecx
call fcn.1002b690
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x78]
push str.__08X
push eax
call ebp
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call esi
mov eax, dword [esp + 0x28]
push eax
push str._08X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10021b47
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push eax
lea eax, [edx + ecx + 4]
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x20]
push ecx
lea edx, [esp + 0x78]
push str.__04X
push edx
call ebp
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call esi
movzx edx, word [esp + 0x1c]
push edx
push str._04X
lea eax, [esp + 0x70]
push eax
call ebp
add esp, 0xc
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x17c]
push edx
push eax
lea ecx, [esp + 0x104]
push str._s__s__s
push ecx
call ebp
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
add dword [eax], 4
mov eax, dword [edi]
add esp, 0x14
add byte [eax + 0x240], 4
xor eax, eax
mov cl, byte [esp + eax + 0xf8]
mov byte [esp + eax + 0x68], cl
inc eax
test cl, cl
jne 0x10021b84
jmp 0x10021c79
mov bl, byte [esp + 0x12]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d35c]
lea eax, [esp + 0x178]
push eax
push edx
lea eax, [esp + 0x70]
push 0x100381ac
push eax
call ebp
add esp, 0x10
cmp bl, 1
jbe 0x10021c79
mov ecx, dword [edi]
push str.Invalid_Instruction
add ecx, 0x100
push ecx
call esi
jmp 0x10021c79
mov bl, byte [esp + 0x12]
movzx eax, bl
mov ecx, dword [eax*4 + 0x1003d37c]
lea edx, [esp + 0x178]
push edx
push ecx
lea edx, [esp + 0x70]
push 0x100381ac
push edx
call ebp
add esp, 0x10
cmp bl, 3
jne 0x10021c19
mov eax, dword [edi]
push str.Far_Call
add eax, 0x100
push eax
call esi
jmp 0x10021c79
cmp bl, 5
jne 0x10021c30
mov ecx, dword [edi]
push str.Far_Jump
add ecx, 0x100
push ecx
call esi
jmp 0x10021c79
cmp bl, 7
jne 0x10021c79
mov edx, dword [edi]
push str.Invalid_Instruction
add edx, 0x100
push edx
call esi
jmp 0x10021c79
movzx ecx, byte [esp + 0x12]
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
mov ecx, dword [esp + 0x24]
push edx
lea eax, [esp + 0x17c]
push eax
push ecx
push str._s__s__s
lea edx, [esp + 0x78]
push edx
call ebp
add esp, 0x14
mov ecx, dword [edi]
lea eax, [esp + 0x68]
push eax
push ecx
call esi
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
inc dword [eax]
jmp 0x10024139
cmp ecx, 4
je 0x10022cf3
mov al, byte [eax + 1]
mov dl, al
shr al, 3
and dl, 7
and al, 7
cmp byte [esp + 0x24c], 0x8f
mov byte [esp + 0x1a], dl
mov byte [esp + 0x1b], al
jne 0x10021cd3
test al, al
je 0x10021cd3
mov eax, dword [edi]
push str.Invalid_Instruction
add eax, 0x100
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dl, byte [esp + 0x1a]
mov cl, byte [esp + 0x23]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, cl
mov dword [esp + 0x48], eax
sub eax, 0
je 0x10021ed7
sub eax, 1
je 0x10021de7
sub eax, 1
jne 0x10022031
cmp dl, 5
jne 0x10021d18
cmp byte [esp + 0x254], al
jne 0x10021d18
mov dword [esp + 0x23c], 2
mov eax, dword [ebx]
mov ebp, dword [esp + 0x30]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [eax + ebp + 2]
push ecx
call fcn.1002b690
mov ecx, dword [ebx]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x24]
push eax
add ecx, ebp
push ecx
call fcn.1002b650
mov edx, dword [esp + 0x44]
movzx eax, word [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0x118]
push str._04X__08X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x28
lea edx, [esp + 0xf8]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x1fc]
push str._08X
push edx
call esi
movzx ecx, byte [esp + 0x26]
mov edx, dword [ecx*4 + 0x1003d270]
lea eax, [esp + 0x204]
push eax
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax*4 + 0x1003d2bc]
push edx
push ecx
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x114]
push str._s_ptr__s:__s_s_
push eax
call esi
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx]
mov cl, byte [esp + 0x47]
add esp, 0x24
add dword [eax], 5
mov edx, dword [edi]
mov byte [edx + 0x240], 6
mov dl, byte [esp + 0x1a]
jmp 0x10022035
mov edx, dword [ebx]
mov ebp, dword [esp + 0x30]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea eax, [edx + ebp + 1]
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x20]
movzx edx, byte [esp + 0x258]
push ecx
push edx
lea eax, [esp + 0x10c]
push str._02X_04X
push eax
call esi
mov edx, dword [edi]
add esp, 0x1c
lea ecx, [esp + 0xf8]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, byte [esp + 0x14]
mov byte [esp + 0x13], al
cmp al, 0x7f
jbe 0x10021e64
mov eax, dword [0x1003d214]
push eax
lea ecx, [esp + 0x50]
push 0x100376bc
push ecx
call esi
mov al, byte [esp + 0x20]
add esp, 0xc
neg al
mov byte [esp + 0x13], al
cmp byte [esp + 0x1a], 5
jne 0x10021e7a
cmp byte [esp + 0x254], 0
mov eax, 2
je 0x10021e81
mov eax, dword [esp + 0x23c]
movzx edx, byte [esp + 0x13]
push edx
movzx edx, byte [esp + 0x1e]
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [edx*4 + 0x1003d270]
mov edx, dword [eax*4 + 0x1003d2bc]
push ecx
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x10c]
push str._s_ptr__s:__s_s_02Xh_
push ecx
call esi
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
mov dl, byte [esp + 0x36]
mov cl, byte [esp + 0x3f]
add esp, 0x1c
add dword [eax], 2
mov eax, dword [edi]
mov byte [eax + 0x240], 3
jmp 0x10022035
mov eax, dword [ebx]
mov ebp, dword [esp + 0x30]
cmp dl, 5
jne 0x10021fa2
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [eax + ebp + 2]
push ecx
call fcn.1002b690
mov ecx, dword [ebx]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x24]
push eax
add ecx, ebp
push ecx
call fcn.1002b650
mov edx, dword [esp + 0x44]
movzx eax, word [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0x118]
push str._04X_08X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x28
lea edx, [esp + 0xf8]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x1fc]
push str._08X
push edx
call esi
mov ecx, dword [esp + 0x248]
mov edx, dword [ecx*4 + 0x1003d2bc]
lea eax, [esp + 0x204]
push eax
push edx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x110]
push str._s_ptr__s:__s_
push ecx
call esi
mov edx, dword [edi]
mov eax, dword [esp + 0x54]
mov cl, byte [esp + 0x43]
mov byte [edx + 0x240], 6
mov eax, dword [eax]
mov dl, byte [esp + 0x3a]
add esp, 0x20
add dword [eax], 5
jmp 0x10022035
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
add eax, ebp
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x20]
push ecx
lea edx, [esp + 0x108]
push str._04X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0xf8]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx edx, byte [esp + 0x1a]
mov eax, dword [edx*4 + 0x1003d270]
mov ecx, dword [esp + 0x23c]
mov edx, dword [ecx*4 + 0x1003d2bc]
push eax
push edx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x104]
push str._s_ptr__s:__s_
push ecx
call esi
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
mov dl, byte [esp + 0x2e]
mov cl, byte [esp + 0x37]
add esp, 0x14
inc dword [eax]
mov eax, dword [edi]
mov byte [eax + 0x240], 2
jmp 0x10022035
mov ebp, dword [esp + 0x30]
movzx eax, byte [esp + 0x244]
sub eax, 0
je 0x1002220f
sub eax, 1
jne 0x10024139
movzx eax, byte [esp + 0x24c]
add eax, 0xffffff72
cmp eax, 0x37
ja case.0x100232ce.144
movzx ecx, byte [eax + 0x1002447c]
jmp dword [ecx*4 + 0x10024464]
movzx eax, byte [esp + 0x12]
mov ecx, dword [eax*4 + 0x1003d2bc]
lea edx, [esp + 0xf8]
push edx
mov edx, dword [esp + 0x28]
push ecx
push edx
lea eax, [esp + 0x184]
push str._s__s__s
push eax
call esi
mov eax, dword [edi]
add esp, 0x14
lea edx, [esp + 0x178]
push edx
push eax
jmp 0x10024133
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0xf8]
push ecx
push edx
lea eax, [esp + 0x180]
push 0x100381ac
push eax
call esi
mov eax, dword [edi]
add esp, 0x10
lea edx, [esp + 0x178]
push edx
push eax
jmp 0x10024133
mov eax, dword [esp + 0x48]
sub eax, 0
je 0x10022105
sub eax, 1
je 0x100220f9
sub eax, 1
jne 0x10022120
mov ecx, dword [ebx]
mov dl, byte [ecx + ebp + 6]
jmp 0x1002211c
mov eax, dword [ebx]
mov cl, byte [eax + ebp + 3]
mov byte [esp + 0x13], cl
jmp 0x10022120
cmp dl, 5
jne 0x10022116
mov edx, dword [ebx]
mov al, byte [edx + ebp + 6]
mov byte [esp + 0x13], al
jmp 0x10022120
mov ecx, dword [ebx]
mov dl, byte [ecx + ebp + 2]
mov byte [esp + 0x13], dl
movzx ebx, byte [esp + 0x13]
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d31c]
push ebx
lea eax, [esp + 0xfc]
push eax
push edx
lea eax, [esp + 0x184]
push str._s__s__02X
push eax
call esi
push ebx
lea ecx, [esp + 0x110]
push str.__02X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x20
lea edx, [esp + 0xf8]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
inc dword [eax]
mov eax, dword [edi]
inc byte [eax + 0x240]
mov eax, dword [edi]
lea edx, [esp + 0x178]
push edx
push eax
jmp 0x10024133
mov ecx, dword [esp + 0x24]
mov dword [ecx], 0x73656c
mov eax, dword [esp + 0x38]
lea edx, [esp + 0xf8]
push edx
movzx edx, byte [esp + 0x16]
lea eax, [eax + eax*8]
add eax, edx
mov eax, dword [eax*4 + 0x1003d228]
push eax
push ecx
jmp 0x100221ed
mov ecx, dword [esp + 0x24]
mov dword [ecx], 0x73646c
jmp 0x1002219d
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x12]
lea eax, [eax + eax*8]
lea edx, [esp + 0xf8]
push edx
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
mov eax, dword [esp + 0x28]
push edx
push eax
lea ecx, [esp + 0x184]
push str._s__s__s
push ecx
call esi
add esp, 0x14
mov eax, dword [edi]
lea edx, [esp + 0x178]
push edx
push eax
jmp 0x10024133
movzx eax, byte [esp + 0x24c]
add eax, 0xffffff97
cmp eax, 0x96
ja case.0x10023446.106
movzx eax, byte [eax + 0x100244f8]
jmp dword [eax*4 + 0x100244b4]
cmp cl, 1
jne 0x10022265
mov ecx, dword [ebx]
mov al, byte [ecx + ebp + 3]
movzx edx, al
push edx
mov byte [esp + 0x17], al
lea eax, [esp + 0x6c]
push str._02X
push eax
call esi
mov edx, dword [edi]
add esp, 0xc
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
jmp 0x100222c5
cmp cl, 2
jne 0x10022297
mov eax, dword [ebx]
mov al, byte [eax + ebp + 6]
movzx ecx, al
push ecx
lea edx, [esp + 0x6c]
push str._02X
push edx
mov byte [esp + 0x1f], al
call esi
mov ecx, dword [edi]
add esp, 0xc
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
jmp 0x100222c5
test cl, cl
jne 0x100222cb
mov edx, dword [ebx]
mov al, byte [edx + ebp + 2]
mov byte [esp + 0x13], al
movzx eax, al
push eax
lea ecx, [esp + 0x6c]
push str._02X
push ecx
call esi
mov eax, dword [edi]
add esp, 0xc
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov bl, byte [esp + 0x13]
cmp bl, 0x7f
jbe 0x100222ee
mov ecx, dword [0x1003d214]
push ecx
lea edx, [esp + 0x50]
push 0x100376bc
push edx
neg bl
call esi
add esp, 0xc
jmp 0x100222f3
mov byte [esp + 0x4c], 0
mov ecx, dword [str.imul]
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
mov dl, byte [0x10037f58]
mov byte [eax + 4], dl
movzx ecx, bl
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x100]
push ecx
mov ecx, dword [esp + 0x44]
lea edx, [ecx + ecx*8]
movzx ecx, byte [esp + 0x27]
add edx, ecx
mov edx, dword [edx*4 + 0x1003d228]
push edx
push eax
lea eax, [esp + 0x18c]
push str._s__s__s__s_02Xh
push eax
call esi
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
inc dword [eax]
mov eax, dword [edi]
add esp, 0x1c
inc byte [eax + 0x240]
jmp 0x10024128
cmp cl, 1
jne 0x100223c7
cmp byte [esp + 0x250], 0
jne 0x100223b7
mov ecx, dword [ebx]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x30]
push eax
lea edx, [ecx + ebp + 3]
push edx
call fcn.1002b690
mov eax, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x78]
push str.__08X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
push ecx
push str._08X
lea edx, [esp + 0x70]
push edx
jmp 0x10022582
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
lea eax, [edx + ebp + 3]
jmp 0x1002253e
cmp cl, 2
jne 0x1002242c
cmp byte [esp + 0x250], 0
jne 0x100224e3
mov eax, dword [ebx]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [eax + ebp + 6]
push ecx
call fcn.1002b690
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x78]
push str.__08X
push eax
call esi
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x28]
push eax
push str._08X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10022582
cmp byte [esp + 0x250], 0
jne 0x100224de
cmp dl, 5
jne 0x1002248c
mov edx, dword [ebx]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x30]
push ecx
lea eax, [edx + ebp + 6]
push eax
call fcn.1002b690
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x78]
push str.__08X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x28]
push edx
push str._08X
jmp 0x1002257d
mov eax, dword [ebx]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [eax + ebp + 2]
push ecx
call fcn.1002b690
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x78]
push str.__08X
push eax
call esi
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x28]
push eax
push str.__08X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10022582
cmp dl, 5
jne 0x10022533
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea edx, [ecx + ebp + 6]
push edx
call fcn.1002b650
movzx eax, word [esp + 0x20]
push eax
lea ecx, [esp + 0x78]
push str.__04X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, word [esp + 0x1c]
push ecx
push str._04X
lea edx, [esp + 0x70]
push edx
jmp 0x10022582
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
lea eax, [edx + ebp + 2]
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x20]
push ecx
lea edx, [esp + 0x78]
push str.__04X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx edx, word [esp + 0x1c]
push edx
push str._04X
lea eax, [esp + 0x70]
push eax
call esi
mov al, byte [esp + 0x258]
add esp, 0xc
cmp al, 0xc7
jne 0x100225b4
cmp byte [esp + 0x1b], 0
je 0x100225ad
mov ecx, dword [edi]
push str.Invalid_Instruction
add ecx, 0x100
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x1003811c
jmp 0x100225e2
cmp al, 0x69
jne 0x100225d5
mov eax, dword [esp + 0x38]
lea edx, [eax + eax*8]
movzx eax, byte [esp + 0x1b]
add edx, eax
mov ecx, dword [edx*4 + 0x1003d228]
push ecx
push str.imul__s_
jmp 0x100225e7
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d2fc]
push eax
push 0x100376bc
mov ebx, dword [esp + 0x2c]
push ebx
call esi
add esp, 0xc
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0xfc]
push edx
push ebx
lea eax, [esp + 0x184]
push str._s__s__s
push eax
call esi
add esp, 0x14
cmp byte [esp + 0x250], 0
jmp 0x10024016
cmp cl, 1
jne 0x10022653
mov eax, dword [ebx]
mov al, byte [eax + ebp + 3]
movzx ecx, al
push ecx
lea edx, [esp + 0x6c]
push str._02X
push edx
mov byte [esp + 0x1f], al
call esi
mov ecx, dword [edi]
add esp, 0xc
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
jmp 0x100226c6
cmp cl, 2
jne 0x10022684
mov edx, dword [ebx]
mov al, byte [edx + ebp + 6]
mov byte [esp + 0x13], al
movzx eax, al
push eax
lea ecx, [esp + 0x6c]
push str._02X
push ecx
call esi
mov eax, dword [edi]
add esp, 0xc
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
jmp 0x100226c6
test cl, cl
jne 0x100226cc
cmp dl, 5
jne 0x10022699
mov ecx, dword [ebx]
mov dl, byte [ecx + ebp + 6]
mov byte [esp + 0x13], dl
jmp 0x100226a3
mov eax, dword [ebx]
mov cl, byte [eax + ebp + 2]
mov byte [esp + 0x13], cl
movzx edx, byte [esp + 0x13]
push edx
lea eax, [esp + 0x6c]
push str.__02X
push eax
call esi
mov edx, dword [edi]
add esp, 0xc
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, byte [esp + 0x24c]
mov byte [esp + 0x4c], 0
cmp al, 0x82
je 0x100226e0
cmp al, 0x83
jne 0x1002270d
cmp byte [esp + 0x13], 0x7f
jbe 0x1002270d
mov eax, dword [0x1003d214]
push eax
lea ecx, [esp + 0x50]
push 0x100376bc
push ecx
call esi
mov dl, byte [esp + 0x1f]
mov al, byte [esp + 0x258]
add esp, 0xc
neg dl
mov byte [esp + 0x13], dl
cmp al, 0xc6
jne 0x10022732
cmp byte [esp + 0x1b], 0
je 0x1002272b
mov eax, dword [edi]
push str.Invalid_Instruction
add eax, 0x100
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x1003811c
jmp 0x1002273f
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d2fc]
push edx
mov ebx, dword [esp + 0x28]
push 0x100376bc
push ebx
call esi
movzx eax, byte [esp + 0x1f]
add esp, 0xc
push eax
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x100]
push edx
push ebx
push str._s__s__s_02Xh
jmp 0x10023a87
cmp byte [esp + 0x12], 5
jbe 0x10022787
mov edx, dword [edi]
push str._Invalid_Segment_Usage
add edx, 0x100
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, byte [esp + 0x12]
mov ecx, dword [eax*4 + 0x1003d2bc]
mov eax, dword [esp + 0x24]
push ecx
lea edx, [esp + 0xfc]
push edx
push eax
push str._s__s__s
lea ecx, [esp + 0x188]
push ecx
jmp 0x10024123
movzx edx, byte [esp + 0x12]
mov ebx, dword [esp + 0x24]
mov ecx, dword [edx*4 + 0x1003d31c]
mov edx, ebx
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x100227c5
lea eax, [esp + 0xf8]
push eax
push ebx
lea ecx, [esp + 0x180]
push str._s__s_1
push ecx
call esi
add esp, 0x10
jmp 0x10024128
movzx edx, byte [esp + 0x12]
mov ebx, dword [esp + 0x24]
mov ecx, dword [edx*4 + 0x1003d31c]
mov edx, ebx
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x10022801
lea eax, [esp + 0xf8]
push eax
push ebx
lea ecx, [esp + 0x180]
push str._s__s_cl
push ecx
call esi
add esp, 0x10
jmp 0x10024128
movzx eax, byte [esp + 0x12]
mov ecx, dword [eax*4 + 0x1003d3bc]
lea edx, [esp + 0xf8]
push edx
push ecx
lea edx, [esp + 0x180]
push 0x100381ac
push edx
call esi
add esp, 0x10
jmp 0x10024128
mov al, byte [esp + 0x12]
test al, al
jne 0x10022874
cmp byte [esp + 0x1b], al
je case.0x10023446.217
mov eax, dword [edi]
push str.Invalid_Instruction
add eax, 0x100
push eax
jmp 0x10022886
cmp al, 1
jne case.0x10023446.217
mov ecx, dword [edi]
push str.Invalid_Instruction
add ecx, 0x100
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, byte [esp + 0x12]
mov ecx, dword [eax*4 + 0x1003d3fc]
lea edx, [esp + 0xf8]
push edx
push ecx
lea edx, [esp + 0x180]
push 0x100381ac
push edx
call esi
add esp, 0x10
jmp 0x10024128
cmp byte [esp + 0x12], 1
jne 0x100228d3
mov edx, dword [edi]
push str.Invalid_Instruction
add edx, 0x100
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d45c]
lea eax, [esp + 0xf8]
push eax
push edx
lea eax, [esp + 0x180]
push 0x100381ac
push eax
call esi
add esp, 0x10
jmp 0x10024128
cmp cl, 1
jne 0x10022944
mov al, byte [esp + 0x1b]
test al, al
je 0x10022914
cmp al, cl
jne 0x100229c2
mov ecx, dword [ebx]
mov al, byte [ecx + ebp + 3]
movzx edx, al
push edx
mov byte [esp + 0x17], al
lea eax, [esp + 0x6c]
push str._02X
push eax
call esi
mov edx, dword [edi]
add esp, 0xc
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
jmp 0x100229bc
cmp cl, 2
jne 0x10022982
mov al, byte [esp + 0x1b]
test al, al
je 0x10022955
cmp al, 1
jne 0x100229c2
mov eax, dword [ebx]
mov al, byte [eax + ebp + 6]
movzx ecx, al
push ecx
lea edx, [esp + 0x6c]
push str._02X
push edx
mov byte [esp + 0x1f], al
call esi
mov ecx, dword [edi]
add esp, 0xc
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
jmp 0x100229bc
test cl, cl
jne 0x100229c2
mov al, byte [esp + 0x1b]
test al, al
je 0x10022992
cmp al, 1
jne 0x100229c2
mov edx, dword [ebx]
mov al, byte [edx + ebp + 2]
mov byte [esp + 0x13], al
movzx eax, al
push eax
lea ecx, [esp + 0x6c]
push str._02X
push ecx
call esi
mov eax, dword [edi]
add esp, 0xc
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d33c]
mov ebx, dword [esp + 0x24]
push edx
push 0x100376bc
push ebx
mov byte [esp + 0x58], 0
call esi
mov al, byte [esp + 0x27]
add esp, 0xc
test al, al
je 0x10022a0f
cmp al, 1
je 0x10022a0f
lea eax, [esp + 0xf8]
push eax
push ebx
lea ecx, [esp + 0x180]
push 0x100381ac
push ecx
call esi
add esp, 0x10
jmp 0x10024128
movzx edx, byte [esp + 0x13]
push edx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x100]
push ecx
push ebx
lea edx, [esp + 0x188]
push str._s__s__s_02X
push edx
call esi
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
inc dword [eax]
mov eax, dword [edi]
add esp, 0x18
inc byte [eax + 0x240]
jmp 0x10024128
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d33c]
mov eax, dword [esp + 0x24]
push edx
push 0x100376bc
push eax
call esi
add esp, 0xc
cmp byte [esp + 0x1b], 0
je 0x10022a98
cmp byte [esp + 0x1b], 1
je 0x10022a98
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0xf8]
push ecx
push edx
lea eax, [esp + 0x180]
push 0x100381ac
push eax
call esi
add esp, 0x10
jmp 0x10024128
mov al, byte [esp + 0x23]
cmp al, 1
jne 0x10022b0c
cmp byte [esp + 0x250], 0
jne 0x10022afc
mov eax, dword [ebx]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [eax + ebp + 3]
push ecx
call fcn.1002b690
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x78]
push str.__08X
push eax
call esi
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x28]
push eax
push str._08X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10022c83
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push edx
lea edx, [ecx + ebp + 3]
jmp 0x10022c40
cmp al, 2
jne 0x10022b70
cmp byte [esp + 0x250], 0
jne 0x10022be4
mov edx, dword [ebx]
lea eax, [esp + 0x28]
push eax
lea eax, [edx + ebp + 6]
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.1002b690
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x78]
push str.__08X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x28]
push edx
push str._08X
lea eax, [esp + 0x70]
push eax
jmp 0x10022c83
cmp byte [esp + 0x250], 0
jne 0x10022bdd
cmp byte [esp + 0x1a], 5
jne 0x10022bcd
mov ecx, dword [ebx]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x30]
push eax
lea edx, [ecx + ebp + 6]
push edx
call fcn.1002b690
mov eax, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x78]
push str.__08X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
push ecx
push str._08X
jmp 0x10022c7e
mov edx, dword [ebx]
lea eax, [esp + 0x28]
push eax
lea eax, [edx + ebp + 2]
jmp 0x10022b29
cmp byte [esp + 0x1a], 5
jne 0x10022c35
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea ecx, [eax + ebp + 6]
push ecx
call fcn.1002b650
movzx edx, word [esp + 0x20]
push edx
lea eax, [esp + 0x78]
push str.__04X
push eax
call esi
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, word [esp + 0x1c]
push eax
push str._04X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10022c83
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push edx
lea edx, [ecx + ebp + 2]
lea eax, [esp + 0x18]
push eax
push edx
call fcn.1002b650
movzx eax, word [esp + 0x20]
push eax
lea ecx, [esp + 0x78]
push str.__04X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, word [esp + 0x1c]
push ecx
push str._04X
lea edx, [esp + 0x70]
push edx
call esi
mov edx, dword [esp + 0x30]
add esp, 0xc
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0xfc]
push ecx
push edx
jmp 0x100225ff
mov bl, byte [esp + 0x12]
movzx eax, bl
mov ecx, dword [eax*4 + 0x1003d37c]
lea edx, [esp + 0xf8]
push edx
push ecx
lea edx, [esp + 0x180]
push 0x100381ac
push edx
call esi
add esp, 0x10
cmp bl, 3
je 0x100240c3
cmp bl, 5
jne 0x100240d8
mov ecx, dword [edi]
push str.Far_Jump
add ecx, 0x100
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x10024128
mov al, byte [eax + 2]
mov cl, al
shr cl, 3
and cl, 7
mov byte [esp + 0x1a], cl
movzx ebp, al
mov cl, al
and cl, 7
shr ebp, 6
cmp byte [esp + 0x24c], 0x8f
mov byte [esp + 0x1b], cl
jne 0x10022d38
test dl, 0x38
je 0x10022d38
mov edx, dword [edi]
push str.Invalid_Instruction
add edx, 0x100
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov cl, byte [esp + 0x1b]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
cmp ebp, 3
ja case.default.0x10022d43
jmp dword [ebp*4 + 0x10024590]
mov eax, dword [0x1003d218]
jmp 0x10022d7c
mov edx, dword [0x1003d21c]
push edx
push 0x100376bc
lea eax, [esp + 0x54]
push eax
jmp 0x10022d87
mov ecx, dword [0x1003d220]
push ecx
push 0x100376bc
lea edx, [esp + 0x54]
push edx
jmp 0x10022d87
mov eax, dword [0x1003d224]
push eax
push 0x100376bc
lea ecx, [esp + 0x54]
push ecx
call esi
mov cl, byte [esp + 0x27]
add esp, 0xc
mov dl, byte [esp + 0x23]
movzx eax, dl
sub eax, 0
je 0x10023028
sub eax, 1
mov ebp, dword [esp + 0x30]
je 0x10022f08
sub eax, 1
jne 0x10023297
mov ecx, dword [ebx]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x30]
push eax
lea edx, [ecx + ebp + 3]
push edx
call fcn.1002b690
mov edx, dword [ebx]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x24]
push ecx
lea eax, [edx + ebp + 1]
push eax
call fcn.1002b650
add esp, 0x18
cmp byte [esp + 0x1a], 4
je 0x10022e50
mov al, byte [esp + 0x1b]
cmp al, 5
je 0x10022df8
cmp al, 4
jne 0x10022dff
mov eax, 2
jmp 0x10022e06
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x28]
push ecx
movzx ecx, byte [esp + 0x1f]
lea edx, [esp + 0x64]
push edx
mov edx, dword [ecx*4 + 0x1003d270]
push edx
movzx edx, byte [esp + 0x26]
lea ecx, [esp + 0x58]
push ecx
mov ecx, dword [edx*4 + 0x1003d270]
mov edx, dword [eax*4 + 0x1003d2bc]
push ecx
push edx
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x194]
push str._s_ptr__s:__s_s_s_s_08Xh_
push ecx
call esi
add esp, 0x24
jmp 0x10022e99
cmp byte [esp + 0x1b], 4
mov eax, 2
je 0x10022e63
mov eax, dword [esp + 0x23c]
mov edx, dword [esp + 0x28]
push edx
movzx edx, byte [esp + 0x1f]
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [edx*4 + 0x1003d270]
mov edx, dword [eax*4 + 0x1003d2bc]
push ecx
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x18c]
push str._s_ptr__s:__s_s_08Xh_
push ecx
call esi
add esp, 0x1c
mov edx, dword [esp + 0x2c]
movzx eax, word [esp + 0x14]
movzx ecx, byte [esp + 0x24c]
push edx
push eax
push ecx
lea edx, [esp + 0x104]
push str._02X__04X__08X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x14
lea eax, [esp + 0xf8]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
add dword [eax], 6
mov eax, dword [edi]
mov byte [eax + 0x240], 7
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x178]
mov byte [esp + eax + 0xf8], cl
inc eax
test cl, cl
jne 0x10022ef0
jmp 0x10023293
mov ecx, dword [ebx]
mov al, byte [ecx + ebp + 3]
mov byte [esp + 0x13], al
cmp al, 0x7f
jbe 0x10022f36
mov edx, dword [0x1003d214]
push edx
lea eax, [esp + 0x64]
push 0x100376bc
push eax
call esi
mov cl, byte [esp + 0x1f]
add esp, 0xc
neg cl
mov byte [esp + 0x13], cl
cmp byte [esp + 0x1a], 4
movzx edx, byte [esp + 0x13]
lea eax, [esp + 0x60]
push edx
push eax
jne 0x10022f6f
mov ecx, dword [0x1003d280]
mov edx, dword [0x1003d2c4]
push ecx
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x18c]
push str._s_ptr__s:__s_s_02Xh_
push ecx
call esi
add esp, 0x1c
jmp 0x10022fb4
movzx ecx, byte [esp + 0x23]
mov edx, dword [ecx*4 + 0x1003d270]
movzx ecx, byte [esp + 0x22]
push edx
mov edx, dword [ecx*4 + 0x1003d270]
lea eax, [esp + 0x58]
push eax
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax*4 + 0x1003d2bc]
push edx
push ecx
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x194]
push str._s_ptr__s:__s_s_s_s_02Xh_
push eax
call esi
add esp, 0x24
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
add dword [eax], 3
mov ecx, dword [ebx]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x30]
push eax
add ecx, ebp
push ecx
call fcn.1002b690
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x108]
push str._08X
push eax
call esi
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0xf8]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [edi]
mov byte [eax + 0x240], 4
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x178]
mov byte [esp + eax + 0xf8], cl
inc eax
test cl, cl
jne 0x10023010
jmp 0x10023293
cmp byte [esp + 0x1a], 4
jne 0x100230e7
cmp cl, 5
je 0x100231ae
cmp cl, 4
jne 0x1002304c
mov dword [esp + 0x23c], 2
mov eax, dword [ebx]
mov ebp, dword [esp + 0x30]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea ecx, [eax + ebp + 1]
push ecx
call fcn.1002b650
movzx edx, word [esp + 0x20]
movzx eax, byte [esp + 0x258]
push edx
push eax
lea ecx, [esp + 0x10c]
push str._02X_04X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x1c
lea edx, [esp + 0xf8]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, byte [esp + 0x1b]
mov edx, dword [ecx*4 + 0x1003d270]
mov eax, dword [esp + 0x23c]
mov ecx, dword [eax*4 + 0x1003d2bc]
push edx
push ecx
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x104]
push str._s_ptr__s:__s_
push eax
call esi
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx]
add esp, 0x14
add dword [eax], 2
mov edx, dword [edi]
mov byte [edx + 0x240], 3
jmp 0x10023293
cmp cl, 5
je 0x100231ae
cmp cl, 4
jne 0x10023100
mov dword [esp + 0x23c], 2
mov edx, dword [ebx]
mov ebp, dword [esp + 0x30]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea eax, [edx + ebp + 1]
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x20]
movzx edx, byte [esp + 0x258]
push ecx
push edx
lea eax, [esp + 0x10c]
push str._02X_04X
push eax
call esi
mov edx, dword [edi]
add esp, 0x1c
lea ecx, [esp + 0xf8]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, byte [esp + 0x1b]
mov ecx, dword [eax*4 + 0x1003d270]
movzx eax, byte [esp + 0x1a]
push ecx
mov ecx, dword [eax*4 + 0x1003d270]
lea edx, [esp + 0x50]
push edx
mov edx, dword [esp + 0x244]
mov eax, dword [edx*4 + 0x1003d2bc]
push ecx
push eax
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x10c]
push str._s_ptr__s:__s_s_s_
push edx
call esi
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
add esp, 0x1c
add dword [eax], 2
mov ecx, dword [edi]
mov byte [ecx + 0x240], 3
jmp 0x10023293
mov ecx, dword [ebx]
mov ebp, dword [esp + 0x30]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x30]
push eax
lea edx, [ecx + ebp + 3]
push edx
call fcn.1002b690
mov edx, dword [ebx]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x24]
push ecx
lea eax, [edx + ebp + 1]
push eax
call fcn.1002b650
mov ecx, dword [esp + 0x44]
movzx edx, word [esp + 0x2c]
movzx eax, byte [esp + 0x264]
push ecx
push edx
push eax
lea ecx, [esp + 0x11c]
push str._02X__04X__08X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x2c
lea edx, [esp + 0xf8]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [esp + 0x1a], 4
lea ecx, [esp + 0x68]
jne 0x10023234
push 0x100369b2
push ecx
call esi
mov byte [esp + 0x54], 0
jmp 0x10023244
movzx edx, byte [esp + 0x1a]
mov eax, dword [edx*4 + 0x1003d270]
push eax
push ecx
call esi
mov edx, dword [esp + 0x30]
add esp, 8
push edx
mov edx, dword [esp + 0x240]
lea eax, [esp + 0x50]
push eax
mov eax, dword [edx*4 + 0x1003d2bc]
lea ecx, [esp + 0x70]
push ecx
push eax
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x10c]
push str._s_ptr__s:__s_s_08X_
push edx
call esi
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
add esp, 0x1c
add dword [eax], 6
mov ecx, dword [edi]
mov byte [esp + 0x23], 2
mov byte [ecx + 0x240], 7
mov dl, byte [esp + 0x23]
movzx eax, byte [esp + 0x244]
sub eax, 0
je 0x10023429
sub eax, 1
jne 0x10024139
movzx eax, byte [esp + 0x24c]
add eax, 0xffffff72
cmp eax, 0x37
ja case.0x100232ce.144
movzx eax, byte [eax + 0x100245b8]
jmp dword [eax*4 + 0x100245a0]
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d2bc]
lea ecx, [esp + 0xf8]
push ecx
mov ecx, dword [esp + 0x28]
push eax
push ecx
lea edx, [esp + 0x184]
push str._s__s__s
push edx
call esi
mov eax, dword [edi]
add esp, 0x14
lea edx, [esp + 0x178]
push edx
push eax
jmp 0x10024133
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xf8]
push eax
push ecx
lea edx, [esp + 0x180]
push 0x100381ac
push edx
call esi
mov eax, dword [edi]
add esp, 0x10
lea edx, [esp + 0x178]
push edx
push eax
jmp 0x10024133
movzx eax, dl
sub eax, 0
je 0x10023368
sub eax, 1
je 0x1002335f
sub eax, 1
jne 0x100221ff
mov eax, dword [ebx]
movzx ebx, byte [eax + ebp + 7]
jmp 0x1002336f
mov eax, dword [ebx]
movzx ebx, byte [eax + ebp + 4]
jmp 0x1002336f
mov eax, dword [ebx]
movzx ebx, byte [eax + ebp + 3]
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d31c]
push ebx
lea ecx, [esp + 0xfc]
push ecx
push eax
lea ecx, [esp + 0x184]
push str._s__s__02X
push ecx
call esi
push ebx
lea edx, [esp + 0x110]
push str.__02X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x20
lea eax, [esp + 0xf8]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
inc dword [eax]
mov eax, dword [edi]
inc byte [eax + 0x240]
mov eax, dword [edi]
lea edx, [esp + 0x178]
push edx
push eax
jmp 0x10024133
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xf8]
push eax
mov eax, dword [esp + 0x3c]
lea edx, [eax + eax*8]
movzx eax, byte [esp + 0x16]
add edx, eax
mov dword [ecx], 0x73656c
mov edx, dword [edx*4 + 0x1003d228]
push edx
push ecx
lea eax, [esp + 0x184]
push str._s__s__s
push eax
call esi
mov eax, dword [edi]
add esp, 0x14
lea edx, [esp + 0x178]
push edx
push eax
jmp 0x10024133
movzx eax, byte [esp + 0x24c]
add eax, 0xffffff97
cmp eax, 0x96
ja case.0x10023446.106
movzx ecx, byte [eax + 0x10024634]
jmp dword [ecx*4 + 0x100245f0]
cmp dl, 1
jne 0x1002347e
mov edx, dword [ebx]
mov al, byte [edx + ebp + 3]
mov byte [esp + 0x13], al
movzx eax, al
push eax
lea ecx, [esp + 0x6c]
push str._02X
push ecx
call esi
mov eax, dword [edi]
add esp, 0xc
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
jmp 0x100234df
cmp dl, 2
jne 0x100234b0
mov ecx, dword [ebx]
mov al, byte [ecx + ebp + 7]
movzx edx, al
push edx
mov byte [esp + 0x17], al
lea eax, [esp + 0x6c]
push str._02X
push eax
call esi
mov edx, dword [edi]
add esp, 0xc
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
jmp 0x100234df
test dl, dl
jne 0x100234e5
mov eax, dword [ebx]
mov al, byte [eax + ebp + 2]
movzx ecx, al
push ecx
lea edx, [esp + 0x6c]
push str._02X
push edx
mov byte [esp + 0x1f], al
call esi
mov ecx, dword [edi]
add esp, 0xc
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [esp + 0x13], 0x7f
jbe 0x1002350d
mov eax, dword [0x1003d214]
mov dl, byte [esp + 0x13]
push eax
lea ecx, [esp + 0x50]
neg dl
push 0x100376bc
push ecx
mov byte [esp + 0x1f], dl
call esi
add esp, 0xc
jmp 0x10023512
mov byte [esp + 0x4c], 0
mov edx, dword [ebx]
mov al, byte [edx + ebp + 1]
cmp al, 7
jbe 0x1002352e
cmp al, 0x40
jb 0x10023524
cmp al, 0x47
jbe 0x1002352e
mov cl, al
sub cl, 0x80
cmp cl, 7
ja 0x10023533
mov byte [esp + 0x1b], 0
cmp al, 8
jb 0x1002353b
cmp al, 0xf
jbe 0x1002354d
cmp al, 0x48
jb 0x10023543
cmp al, 0x4f
jbe 0x1002354d
mov dl, al
add dl, 0x78
cmp dl, 7
ja 0x10023552
mov byte [esp + 0x1b], 1
cmp al, 0x10
jb 0x1002355a
cmp al, 0x17
jbe 0x1002356c
cmp al, 0x50
jb 0x10023562
cmp al, 0x57
jbe 0x1002356c
mov cl, al
add cl, 0x70
cmp cl, 7
ja 0x10023571
mov byte [esp + 0x1b], 2
cmp al, 0x18
jb 0x10023579
cmp al, 0x1f
jbe 0x1002358b
cmp al, 0x58
jb 0x10023581
cmp al, 0x5f
jbe 0x1002358b
mov dl, al
add dl, 0x68
cmp dl, 7
ja 0x10023590
mov byte [esp + 0x1b], 3
cmp al, 0x20
jb 0x10023598
cmp al, 0x27
jbe 0x100235aa
cmp al, 0x60
jb 0x100235a0
cmp al, 0x67
jbe 0x100235aa
mov cl, al
add cl, 0x60
cmp cl, 7
ja 0x100235af
mov byte [esp + 0x1b], 4
cmp al, 0x28
jb 0x100235b7
cmp al, 0x2f
jbe 0x100235c9
cmp al, 0x68
jb 0x100235bf
cmp al, 0x6f
jbe 0x100235c9
mov dl, al
add dl, 0x58
cmp dl, 7
ja 0x100235ce
mov byte [esp + 0x1b], 5
cmp al, 0x30
jb 0x100235d6
cmp al, 0x37
jbe 0x100235e8
cmp al, 0x70
jb 0x100235de
cmp al, 0x77
jbe 0x100235e8
mov cl, al
add cl, 0x50
cmp cl, 7
ja 0x100235ed
mov byte [esp + 0x1b], 6
cmp al, 0x38
jb 0x100235f5
cmp al, 0x3f
jbe 0x10023603
cmp al, 0x78
jb 0x100235fd
cmp al, 0x7f
jbe 0x10023603
add al, 0x48
cmp al, 7
ja 0x10023608
mov byte [esp + 0x1b], 7
mov edx, dword [str.imul]
mov eax, dword [esp + 0x24]
mov dword [eax], edx
mov cl, byte [0x10037f58]
movzx edx, byte [esp + 0x13]
push edx
mov byte [eax + 4], cl
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x100]
push edx
movzx edx, byte [esp + 0x27]
lea ecx, [ecx + ecx*8]
add ecx, edx
mov ecx, dword [ecx*4 + 0x1003d228]
push ecx
push eax
lea edx, [esp + 0x18c]
push str._s__s__s__s_02Xh
push edx
call esi
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
inc dword [eax]
mov eax, dword [edi]
add esp, 0x1c
inc byte [eax + 0x240]
jmp 0x10024128
cmp dl, 1
jne 0x10023726
cmp byte [esp + 0x250], 0
jne 0x100236d3
mov eax, dword [ebx]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [eax + ebp + 4]
push ecx
call fcn.1002b690
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x78]
push str.__08X
push eax
call esi
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x28]
push eax
push str._08X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10023881
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea edx, [ecx + ebp + 4]
push edx
call fcn.1002b650
movzx eax, word [esp + 0x20]
push eax
lea ecx, [esp + 0x78]
push str.__04X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, word [esp + 0x1c]
push ecx
push str._04X
lea edx, [esp + 0x70]
push edx
jmp 0x10023881
cmp dl, 2
jne 0x100237da
cmp byte [esp + 0x250], 0
jne 0x10023786
mov edx, dword [ebx]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x30]
push ecx
lea eax, [edx + ebp + 7]
push eax
call fcn.1002b690
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x78]
push str.__08X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x28]
push edx
push str._08X
jmp 0x1002387c
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
lea ecx, [eax + ebp + 7]
push ecx
call fcn.1002b650
movzx edx, word [esp + 0x20]
push edx
lea eax, [esp + 0x78]
push str.__04X
push eax
call esi
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, word [esp + 0x1c]
push eax
push str._04X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10023881
cmp byte [esp + 0x250], 0
jne 0x10023832
mov ecx, dword [ebx]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x30]
push eax
lea edx, [ecx + ebp + 3]
push edx
call fcn.1002b690
mov eax, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x78]
push str.__08X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
push ecx
push str._08X
lea edx, [esp + 0x70]
push edx
jmp 0x10023881
mov edx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea eax, [edx + ebp + 3]
push eax
call fcn.1002b650
movzx ecx, word [esp + 0x20]
push ecx
lea edx, [esp + 0x78]
push str.__04X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx edx, word [esp + 0x1c]
push edx
push str._04X
lea eax, [esp + 0x70]
push eax
call esi
mov al, byte [esp + 0x258]
add esp, 0xc
cmp al, 0xc7
jne 0x100238b5
mov ecx, dword [ebx]
test byte [ecx + ebp + 1], 0x38
je 0x100238ae
mov edx, dword [edi]
push str.Invalid_Instruction
add edx, 0x100
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x1003811c
jmp 0x100238eb
cmp al, 0x69
jne 0x100238de
mov eax, dword [ebx]
movzx ecx, byte [eax + ebp + 1]
mov eax, dword [esp + 0x38]
shr ecx, 3
lea edx, [eax + eax*8]
and ecx, 7
add ecx, edx
mov eax, dword [ecx*4 + 0x1003d228]
push eax
push str.imul__s_
jmp 0x100238f0
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d2fc]
push edx
push 0x100376bc
mov ebx, dword [esp + 0x2c]
push ebx
call esi
add esp, 0xc
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0xfc]
push ecx
push ebx
lea edx, [esp + 0x184]
push str._s__s__s
push edx
call esi
add esp, 0x14
cmp byte [esp + 0x250], 0
jne 0x1002393b
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
add dword [eax], 4
mov eax, dword [edi]
add byte [eax + 0x240], 4
jmp 0x10024128
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
add dword [eax], 2
mov eax, dword [edi]
add byte [eax + 0x240], 2
jmp 0x10024128
cmp dl, 1
jne 0x10023983
mov edx, dword [ebx]
mov al, byte [edx + ebp + 4]
mov byte [esp + 0x13], al
movzx eax, al
push eax
lea ecx, [esp + 0x6c]
push str._02X
push ecx
call esi
mov eax, dword [edi]
add esp, 0xc
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
jmp 0x100239e4
cmp dl, 2
jne 0x100239b5
mov ecx, dword [ebx]
mov al, byte [ecx + ebp + 7]
movzx edx, al
push edx
mov byte [esp + 0x17], al
lea eax, [esp + 0x6c]
push str._02X
push eax
call esi
mov edx, dword [edi]
add esp, 0xc
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
jmp 0x100239e4
test dl, dl
jne 0x100239ea
mov eax, dword [ebx]
mov al, byte [eax + ebp + 3]
movzx ecx, al
push ecx
lea edx, [esp + 0x6c]
push str._02X
push edx
mov byte [esp + 0x1f], al
call esi
mov ecx, dword [edi]
add esp, 0xc
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, byte [esp + 0x24c]
mov byte [esp + 0x4c], 0
cmp al, 0x82
je 0x100239fe
cmp al, 0x83
jne 0x10023a25
cmp byte [esp + 0x13], 0x7f
jbe 0x10023a25
mov edx, dword [0x1003d214]
push edx
lea eax, [esp + 0x50]
push 0x100376bc
push eax
call esi
mov cl, byte [esp + 0x1f]
add esp, 0xc
neg cl
mov byte [esp + 0x13], cl
cmp byte [esp + 0x24c], 0xc6
jne 0x10023a52
mov edx, dword [ebx]
test byte [edx + ebp + 1], 0x38
je 0x10023a4b
mov eax, dword [edi]
push str.Invalid_Instruction_
add eax, 0x100
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x1003811c
jmp 0x10023a5f
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d2fc]
push edx
mov ebx, dword [esp + 0x28]
push 0x100376bc
push ebx
call esi
movzx eax, byte [esp + 0x1f]
add esp, 0xc
push eax
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x100]
push edx
push ebx
push str._s__s__s_02X
lea eax, [esp + 0x18c]
push eax
call esi
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
inc dword [eax]
mov eax, dword [edi]
add esp, 0x18
inc byte [eax + 0x240]
jmp 0x10024128
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d2bc]
mov edx, dword [esp + 0x24]
push eax
lea ecx, [esp + 0xfc]
push ecx
push edx
push str._s__s__s
lea eax, [esp + 0x188]
push eax
jmp 0x10024123
movzx ecx, byte [esp + 0x12]
mov ebx, dword [esp + 0x24]
mov ecx, dword [ecx*4 + 0x1003d31c]
mov edx, ebx
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x10023ae7
lea edx, [esp + 0xf8]
push edx
push ebx
lea eax, [esp + 0x180]
push str._s__s_1
push eax
call esi
add esp, 0x10
jmp 0x10024128
movzx ecx, byte [esp + 0x12]
mov ebx, dword [esp + 0x24]
mov ecx, dword [ecx*4 + 0x1003d31c]
mov edx, ebx
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x10023b23
lea edx, [esp + 0xf8]
push edx
push ebx
lea eax, [esp + 0x180]
push str._s__s_cl
push eax
call esi
add esp, 0x10
jmp 0x10024128
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d3bc]
lea ecx, [esp + 0xf8]
push ecx
push eax
lea ecx, [esp + 0x180]
push 0x100381ac
push ecx
call esi
add esp, 0x10
jmp 0x10024128
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d3dc]
lea eax, [esp + 0xf8]
push eax
push edx
lea eax, [esp + 0x180]
push 0x100381ac
push eax
call esi
add esp, 0x10
jmp 0x10024128
mov al, byte [esp + 0x12]
cmp al, 1
je 0x10023bb5
cmp al, 4
je 0x10023bb5
cmp al, 6
jne 0x10023bc9
mov ecx, dword [edi]
push str.Invalid_Instruction
add ecx, 0x100
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, byte [esp + 0x12]
mov ecx, dword [eax*4 + 0x1003d41c]
lea edx, [esp + 0xf8]
push edx
push ecx
lea edx, [esp + 0x180]
push 0x100381ac
push edx
call esi
add esp, 0x10
jmp 0x10024128
mov al, byte [esp + 0x12]
cmp al, 1
je 0x10023c01
cmp al, 5
jne 0x10023c14
mov eax, dword [edi]
push str.Invalid_Instruction
add eax, 0x100
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d43c]
lea ecx, [esp + 0xf8]
push ecx
push eax
lea ecx, [esp + 0x180]
push 0x100381ac
push ecx
call esi
add esp, 0x10
jmp 0x10024128
cmp byte [esp + 0x12], 1
jne 0x10023c5b
mov edx, dword [edi]
push str.Invalid_Instruction
add edx, 0x100
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, byte [esp + 0x12]
mov edx, dword [ecx*4 + 0x1003d45c]
lea eax, [esp + 0xf8]
push eax
push edx
lea eax, [esp + 0x180]
push 0x100381ac
push eax
call esi
add esp, 0x10
jmp 0x10024128
mov ecx, dword [ebx]
mov bl, byte [ecx + ebp + 1]
lea eax, [ecx + ebp]
shr bl, 3
and bl, 7
cmp dl, 1
jne 0x10023cd4
test bl, bl
je 0x10023ca7
cmp bl, dl
jne 0x10023d46
mov al, byte [eax + 3]
movzx edx, al
push edx
mov byte [esp + 0x17], al
lea eax, [esp + 0x6c]
push str._02X
push eax
call esi
mov edx, dword [edi]
add esp, 0xc
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
jmp 0x10023d40
cmp dl, 2
jne 0x10023d0b
test bl, bl
je 0x10023ce2
cmp bl, 1
jne 0x10023d46
mov al, byte [eax + 7]
mov byte [esp + 0x13], al
movzx eax, al
push eax
lea ecx, [esp + 0x6c]
push str._02X
push ecx
call esi
mov eax, dword [edi]
add esp, 0xc
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
jmp 0x10023d40
test dl, dl
jne 0x10023d46
test bl, bl
je 0x10023d18
cmp bl, 1
jne 0x10023d46
mov al, byte [eax + 2]
movzx ecx, al
push ecx
lea edx, [esp + 0x6c]
push str._02X
push edx
mov byte [esp + 0x1f], al
call esi
mov ecx, dword [edi]
add esp, 0xc
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d33c]
mov ebp, dword [esp + 0x24]
push eax
push 0x100376bc
push ebp
mov byte [esp + 0x58], 0
call esi
add esp, 0xc
test bl, bl
je 0x10023d90
cmp bl, 1
je 0x10023d90
lea ecx, [esp + 0xf8]
push ecx
push ebp
lea edx, [esp + 0x180]
push 0x100381ac
push edx
call esi
add esp, 0x10
jmp 0x10024128
movzx eax, byte [esp + 0x13]
push eax
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x100]
push edx
push ebp
jmp 0x10023a82
movzx edx, byte [esp + 0x12]
mov eax, dword [edx*4 + 0x1003d33c]
mov ecx, dword [esp + 0x24]
push eax
push 0x100376bc
push ecx
call esi
mov edx, dword [ebx]
mov al, byte [ebp + edx + 1]
add ebp, edx
shr al, 3
add esp, 0xc
and al, 7
je 0x10023dfc
cmp al, 1
je 0x10023dfc
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xf8]
push eax
push ecx
lea edx, [esp + 0x180]
push 0x100381ac
push edx
call esi
add esp, 0x10
jmp 0x10024128
mov al, byte [esp + 0x23]
mov bl, byte [esp + 0x250]
cmp al, 1
jne 0x10023eb0
add ebp, 4
test bl, bl
jne 0x10023e62
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x30]
push ecx
push ebp
call fcn.1002b690
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x78]
push str.__08X
push eax
call esi
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x28]
push eax
push str._08X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10023feb
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
push ebp
call fcn.1002b650
movzx ecx, word [esp + 0x20]
push ecx
lea edx, [esp + 0x78]
push str.__04X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx edx, word [esp + 0x1c]
push edx
push str._04X
lea eax, [esp + 0x70]
push eax
jmp 0x10023feb
cmp al, 2
jne 0x10023f53
add ebp, 7
test bl, bl
jne 0x10023f05
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
push ebp
call fcn.1002b690
mov eax, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x78]
push str.__08X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x28]
push ecx
push str._08X
jmp 0x10023fe6
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
push ebp
call fcn.1002b650
movzx edx, word [esp + 0x20]
push edx
lea eax, [esp + 0x78]
push str.__04X
push eax
call esi
mov edx, dword [edi]
add esp, 0x18
lea ecx, [esp + 0x68]
push ecx
add edx, 0x200
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx eax, word [esp + 0x1c]
push eax
push str._04X
lea ecx, [esp + 0x70]
push ecx
jmp 0x10023feb
add ebp, 3
test bl, bl
jne 0x10023fa3
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x30]
push eax
push ebp
call fcn.1002b690
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x78]
push str.__08X
push edx
call esi
mov ecx, dword [edi]
add esp, 0x18
lea eax, [esp + 0x68]
push eax
add ecx, 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x28]
push edx
push str._08X
lea eax, [esp + 0x70]
push eax
jmp 0x10023feb
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
push ebp
call fcn.1002b650
movzx eax, word [esp + 0x20]
push eax
lea ecx, [esp + 0x78]
push str.__04X
push ecx
call esi
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x68]
push edx
add eax, 0x200
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
movzx ecx, word [esp + 0x1c]
push ecx
push str._04X
lea edx, [esp + 0x70]
push edx
call esi
mov edx, dword [esp + 0x30]
add esp, 0xc
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0xfc]
push ecx
push edx
lea eax, [esp + 0x184]
push str._s__s__s
push eax
call esi
add esp, 0x14
test bl, bl
jne 0x1002402f
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
add dword [eax], 4
mov eax, dword [edi]
add byte [eax + 0x240], 4
jmp 0x10024128
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
add dword [eax], 2
mov eax, dword [edi]
add byte [eax + 0x240], 2
jmp 0x10024128
mov bl, byte [esp + 0x12]
movzx ecx, bl
mov edx, dword [ecx*4 + 0x1003d35c]
lea eax, [esp + 0xf8]
push eax
push edx
lea eax, [esp + 0x180]
push 0x100381ac
push eax
call esi
add esp, 0x10
cmp bl, 1
jbe 0x10024128
mov ecx, dword [edi]
push str.Invalid_Instruction
add ecx, 0x100
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x10024128
mov bl, byte [esp + 0x12]
movzx eax, bl
mov ecx, dword [eax*4 + 0x1003d37c]
lea edx, [esp + 0xf8]
push edx
push ecx
lea edx, [esp + 0x180]
push 0x100381ac
push edx
call esi
add esp, 0x10
cmp bl, 3
jne 0x10022cd1
mov eax, dword [edi]
push str.Far_Call
add eax, 0x100
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x10024128
cmp bl, 7
jne 0x10024128
mov edx, dword [edi]
push str.Invalid_Instruction
add edx, 0x100
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x10024128
movzx ecx, byte [esp + 0x12]
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*8]
add eax, ecx
mov edx, dword [eax*4 + 0x1003d228]
mov ecx, dword [esp + 0x24]
push edx
lea eax, [esp + 0xfc]
push eax
push ecx
push str._s__s__s
lea edx, [esp + 0x188]
push edx
call esi
add esp, 0x14
mov ecx, dword [edi]
lea eax, [esp + 0x178]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [esp + 0x22c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10031c98
add esp, 0x220
ret