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

Disassembly:
sub esp, 0x274
mov eax, dword [esp + 0x280]
mov cl, byte [0x10140890]
push ebx
xor edx, edx
push ebp
push esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x4c], edx
mov esi, dword [eax]
mov eax, 2
push edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
mov byte [esp + 0x84], cl
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x85]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
rep stosd dword es:[edi], eax
mov cx, word [0x100e9670]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
stosw word es:[edi], ax
mov dword [esp + 0x54], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], edx
mov byte [esp + 0x1c], dl
mov byte [esp + 0x70], dl
mov byte [esp + 0x6c], dl
mov byte [esp + 0x38], dl
mov byte [esp + 0x58], dl
stosb byte es:[edi], al
mov eax, dword [str.Dword]
mov dword [esp + 0x66], edx
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x60], eax
mov word [esp + 0x64], cx
mov dword [esp + 0x4c], esi
mov al, byte [esi + edx]
mov dword [esp + 0x18], 3
mov byte [esp + 0x14], al
mov esi, dword [esp + 0x4c]
mov al, byte [esp + 0x14]
cmp al, 0x66
je 0x1001d684
cmp al, 0xf0
je 0x1001d684
cmp al, 0x2e
je 0x1001d684
cmp al, 0x36
je 0x1001d684
cmp al, 0x3e
je 0x1001d684
cmp al, 0x26
je 0x1001d684
cmp al, 0x64
je 0x1001d684
cmp al, 0x65
je 0x1001d684
cmp al, 0xf2
je 0x1001d684
cmp al, 0xf3
je 0x1001d684
cmp al, 0x67
jne 0x1001da46
mov edi, dword [esp + 0x14]
and edi, 0xff
lea eax, [edi - 0x26]
cmp eax, 0xcd
ja case.0x1001d6a4.43
xor ecx, ecx
mov cl, byte [eax + 0x10020a2c]
jmp dword [ecx*4 + 0x10020a14]
mov edx, dword [str.Word]
lea eax, [esp + 0x60]
push edx
push 0x100b79c8
push eax
mov dword [esp + 0x38], 1
mov byte [esp + 0x28], 1
call ebx
mov ecx, dword [esp + 0x294]
add esp, 0xc
add ecx, 0x200
push 0x100e9f24
push ecx
call ebp
mov eax, dword [esp + 0x290]
inc esi
mov dword [esp + 0x4c], esi
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov edx, dword [esp + 0x28c]
mov al, byte [esi + edx]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x54]
inc eax
cmp eax, 1
mov dword [esp + 0x54], eax
jg 0x10020614
jmp 0x1001d650
mov ecx, dword [esp + 0x288]
push 0x100e9f20
add ecx, 0x200
mov dword [esp + 0x44], 1
push ecx
mov byte [esp + 0x60], 1
call ebp
mov eax, dword [esp + 0x290]
inc esi
mov dword [esp + 0x4c], esi
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov edx, dword [esp + 0x28c]
mov al, byte [esi + edx]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x80]
inc eax
cmp eax, 1
mov dword [esp + 0x80], eax
jg 0x100206a6
jmp 0x1001d650
mov ecx, dword [esp + 0x288]
push 0x100e9f1c
add ecx, 0x200
mov byte [esp + 0x74], 1
push ecx
call ebp
mov edi, str.lock
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x288]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x290]
mov esi, dword [esp + 0x4c]
inc esi
mov edi, dword [eax]
mov dword [esp + 0x4c], esi
inc edi
mov dword [eax], edi
mov edx, dword [esp + 0x28c]
mov al, byte [esi + edx]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 1
mov dword [esp + 0x10], eax
jg 0x10020738
mov al, byte [esp + 0x14]
jmp 0x1001d654
mov cl, byte [esi + edx + 1]
mov dl, byte [esi + edx + 2]
push edi
lea eax, [esp + 0x88]
push str._02X:
push eax
mov byte [esp + 0x6b], cl
mov byte [esp + 0x6a], dl
mov byte [esp + 0x44], 1
call ebx
mov edx, dword [esp + 0x294]
add esp, 0xc
lea ecx, [esp + 0x84]
add edx, 0x200
push ecx
push edx
call ebp
sub edi, 0xf2
je 0x1001d850
dec edi
jne 0x1001d862
lea eax, [esp + 0x84]
push str.repe
push eax
jmp 0x1001d85d
lea ecx, [esp + 0x84]
push str.repne
push ecx
call ebx
add esp, 8
mov eax, dword [esp + 0x288]
lea edx, [esp + 0x84]
push edx
push eax
call ebp
mov eax, dword [esp + 0x290]
mov edi, dword [esp + 0x48]
inc esi
mov ecx, dword [eax]
mov dword [esp + 0x4c], esi
inc ecx
inc edi
mov dword [eax], ecx
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x48], edi
mov al, byte [esi + edx]
cmp al, 0xa4
mov byte [esp + 0x14], al
jb 0x1001d8a8
cmp al, 0xa7
jbe 0x1001d650
mov al, byte [esp + 0x14]
cmp al, 0xaa
jb 0x1001d8b8
cmp al, 0xaf
jbe 0x1001d650
cmp byte [esp + 0x5f], 0xf
jne 0x100207f1
mov al, byte [esp + 0x5e]
cmp al, 0x2a
je 0x1001d650
cmp al, 0x10
je 0x1001d650
cmp al, 0x11
je 0x1001d650
cmp al, 0x2c
je 0x1001d650
cmp al, 0x2d
je 0x1001d650
cmp al, 0x51
je 0x1001d650
cmp al, 0x52
je 0x1001d650
cmp al, 0x53
je 0x1001d650
cmp al, 0x58
je 0x1001d650
cmp al, 0x59
je 0x1001d650
cmp al, 0x5c
je 0x1001d650
cmp al, 0x5d
je 0x1001d650
cmp al, 0x5e
je 0x1001d650
cmp al, 0x5f
je 0x1001d650
cmp al, 0xc2
jne 0x100207f1
jmp 0x1001d650
cmp eax, 0x3f
ja case.0x1001d951.6
xor ecx, ecx
mov cl, byte [eax + 0x10020b18]
jmp dword [ecx*4 + 0x10020afc]
mov dword [esp + 0x18], 1
jmp case.0x1001d951.6
mov dword [esp + 0x18], 2
jmp case.0x1001d951.6
mov dword [esp + 0x18], 3
jmp case.0x1001d951.6
mov dword [esp + 0x18], 0
jmp case.0x1001d951.6
mov dword [esp + 0x18], 4
jmp case.0x1001d951.6
mov dword [esp + 0x18], 5
push edi
lea edx, [esp + 0x88]
push str._02X:
push edx
mov byte [esp + 0x78], 1
call ebx
mov ecx, dword [esp + 0x294]
add esp, 0xc
lea eax, [esp + 0x84]
add ecx, 0x200
push eax
push ecx
call ebp
mov eax, dword [esp + 0x290]
inc esi
mov dword [esp + 0x4c], esi
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov edx, dword [esp + 0x28c]
mov ecx, dword [esp + 0x30]
mov al, byte [esi + edx]
inc ecx
mov byte [esp + 0x14], al
mov al, byte [esi + edx - 2]
cmp ecx, 1
mov dword [esp + 0x30], ecx
jg 0x1002087b
jmp 0x1001d650
mov edi, dword [str.Dword]
xor eax, eax
or ecx, 0xffffffff
lea esi, [esp + 0x60]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x30], eax
mov byte [esp + 0x1c], al
mov byte [esp + 0x70], al
mov byte [esp + 0x6c], al
mov eax, ecx
mov dword [esp + 0x20], esi
mov esi, edi
mov edi, dword [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1001d64c
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
and eax, 0xff
and edi, 0xff
mov dword [esp + 0x48], eax
add edi, eax
mov eax, dword [esp + 0x70]
and ecx, 0xff
and eax, 0xff
add edi, ecx
mov ecx, dword [esp + 0x38]
add eax, edi
mov edi, dword [esp + 0x14]
and ecx, 0xff
and edi, 0xff
add ecx, eax
cmp edi, 0xff
mov dword [esp + 0x10], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x30], edi
ja case.default.0x1001e025
xor ecx, ecx
mov cl, byte [edi + 0x10020c84]
jmp dword [ecx*4 + 0x10020b58]
mov dl, byte [esi + edx + 1]
mov al, dl
and al, 0xc0
cmp al, 0xc0
jne 0x1001db93
mov esi, dword [esp + 0x14]
mov cl, byte [0x10140890]
xor edx, edx
lea eax, [esp + 0x20]
mov dword [esp + 0x21], edx
push eax
mov dword [esp + 0x29], edx
push esi
mov byte [esp + 0x28], cl
mov byte [esp + 0x31], dl
call fcn.10027cc0
mov al, byte [esp + 0x1c]
add edi, 0xffffff9e
mov cl, al
add esp, 8
shr cl, 1
and cl, 1
and al, 1
cmp edi, 0x63
mov byte [esp + 0x2c], cl
mov byte [esp + 0x38], al
ja case.0x1001db12.102
xor edx, edx
mov dl, byte [edi + 0x10020d98]
jmp dword [edx*4 + 0x10020d84]
mov byte [esp + 0x2c], 0
jmp 0x1001db3d
mov byte [esp + 0x2c], 0
mov byte [esp + 0x38], 0
jmp case.0x1001db12.102
mov byte [esp + 0x2c], 1
mov byte [esp + 0x38], 0
jmp case.0x1001db12.102
mov byte [esp + 0x2c], 1
mov byte [esp + 0x38], 1
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x290]
push eax
push esi
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x294]
push edx
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x29c]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
push eax
call fcn.10021110
mov ecx, dword [esp + 0x2a8]
mov dl, byte [esp + 0x30]
add esp, 0x20
mov byte [ecx + 0x241], dl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
cmp dl, 0xbf
ja case.default.0x1001e025
mov edi, dword [esp + 0x14]
mov al, byte [0x10140890]
xor ecx, ecx
lea edx, [esp + 0x20]
mov dword [esp + 0x21], ecx
push edx
mov dword [esp + 0x29], ecx
push edi
mov byte [esp + 0x28], al
mov byte [esp + 0x31], cl
call fcn.10027cc0
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x24]
push ecx
push eax
push edx
lea eax, [esp + 0x34]
push edi
push eax
mov al, byte [esp + 0x30]
mov dl, al
shr al, 1
and dl, 1
and al, 1
push edx
mov edx, dword [esp + 0x38]
push eax
lea eax, [esp + 0x2b4]
push eax
push edx
push ecx
lea eax, [esp + 0x2bc]
push esi
lea ecx, [esp + 0x2bc]
push eax
push ecx
call fcn.10022d70
mov edx, dword [esp + 0x2c4]
mov al, byte [esp + 0x4c]
add esp, 0x3c
mov byte [edx + 0x241], al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov cl, byte [0x10140890]
xor edx, edx
mov byte [esp + 0x20], cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x21], edx
lea eax, [esp + 0x20]
mov dword [esp + 0x25], edx
push eax
push ecx
mov byte [esp + 0x31], dl
call fcn.10027cc0
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x54]
xor edx, edx
add esp, 8
mov dl, byte [ecx + eax + 1]
lea eax, [esp + 0x84]
push edx
lea edx, [esp + 0x24]
push edx
push str._s_al___02X
push eax
call ebx
mov edx, dword [esp + 0x298]
add esp, 0x10
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x288]
mov edi, 0x10140890
or ecx, 0xffffffff
lea edx, [eax + 0x100]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x4c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x28c]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
push ecx
mov ecx, dword [esp + 0x34]
push ecx
lea edx, [esp + 0x8c]
push str._02X_02X
push edx
call ebx
add esp, 0x10
mov ecx, dword [esp + 0x288]
lea eax, [esp + 0x84]
add ecx, 0x200
push eax
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
pop edi
pop esi
mov byte [edx + 0x240], 2
mov eax, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [eax + 0x241], cl
mov eax, dword [esp + 0x280]
inc dword [eax]
add esp, 0x274
ret
mov dl, byte [0x10140890]
xor eax, eax
mov byte [esp + 0x20], dl
mov edx, dword [esp + 0x14]
mov dword [esp + 0x21], eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x25], eax
push ecx
push edx
mov byte [esp + 0x31], al
call fcn.10027cc0
mov al, byte [esp + 0x24]
add esp, 8
test al, al
jne 0x1001de1e
mov edx, dword [esp + 0x28c]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x54]
lea eax, [esi + edx + 1]
push ecx
push eax
call fcn.1002fa90
mov ecx, dword [esp + 0x50]
mov edx, dword [0x100e95e8]
add esp, 0xc
lea eax, [esp + 0x20]
push ecx
push edx
push eax
lea ecx, [esp + 0x90]
push str._s__s___08X
push ecx
call ebx
mov eax, dword [esp + 0x29c]
add esp, 0x14
lea edx, [esp + 0x84]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x84]
push ecx
push edi
push str._02X__08X
push edx
call ebx
mov ecx, dword [esp + 0x298]
add esp, 0x10
lea eax, [esp + 0x84]
add ecx, 0x200
push eax
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
pop edi
pop esi
mov byte [edx + 0x240], 5
mov eax, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [eax + 0x241], cl
mov eax, dword [esp + 0x280]
add dword [eax], 4
add esp, 0x274
ret
cmp byte [esp + 0x1c], 1
jne case.default.0x1001e025
mov ecx, dword [esp + 0x28c]
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x40]
lea edx, [esi + ecx + 1]
push eax
push edx
call fcn.1002fa50
mov eax, dword [esp + 0x40]
mov ecx, dword [0x100e95c4]
add esp, 0xc
and eax, 0xffff
lea edx, [esp + 0x20]
push eax
push ecx
push edx
lea eax, [esp + 0x90]
push str._s__s___04X
push eax
call ebx
mov edx, dword [esp + 0x29c]
add esp, 0x14
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x84]
and eax, 0xffff
push eax
push edi
push str._02X__04X
push ecx
call ebx
add esp, 0x10
mov eax, dword [esp + 0x288]
lea edx, [esp + 0x84]
add eax, 0x200
push edx
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
pop edi
pop esi
mov byte [ecx + 0x240], 3
mov edx, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [edx + 0x241], al
mov eax, dword [esp + 0x280]
add dword [eax], 2
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
push str.push_es
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov edi, str.Push_ES_register_to_the_stack
or ecx, 0xffffffff
xor eax, eax
add edx, 0x100
push 0x100e9e88
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x28c]
add ecx, 0x200
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
pop edi
pop esi
pop ebp
mov byte [edx + 0x241], al
pop ebx
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
push str.pop_es
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov edi, str.Pop_top_stack_to_ES
or ecx, 0xffffffff
xor eax, eax
add edx, 0x100
push 0x100e9e68
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1001df2c
mov ecx, dword [esp + 0x288]
push str.push_cs
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov edi, str.Push_CS_register_to_the_stack
or ecx, 0xffffffff
xor eax, eax
add edx, 0x100
push 0x100e9e3c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1001df2c
mov cl, byte [esi + edx + 1]
mov edx, dword [esp + 0x288]
add edx, 0x200
push 0x100e9e38
push edx
mov byte [esp + 0x50], cl
call ebp
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
lea ecx, [esp + 0x184]
push eax
push ecx
push edi
call fcn.100281a0
add esp, 0xc
cmp eax, 4
ja case.default.0x1001e025
jmp dword [eax*4 + 0x10020dfc]
mov edx, dword [esp + 0x28c]
mov al, byte [esi + edx + 2]
cmp al, 0xbf
ja 0x1001e0b1
mov eax, dword [esp + 0x290]
mov edx, dword [esp + 0x6c]
mov ebp, dword [eax]
inc ebp
mov dword [eax], ebp
mov eax, dword [esp + 0x38]
push eax
mov al, byte [esp + 0x18]
mov cl, al
shr al, 1
and cl, 1
and al, 1
push ecx
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x64]
push eax
push edx
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x2a8]
push edi
push edx
mov edx, dword [esp + 0x2b0]
push ecx
push eax
mov eax, dword [edx]
lea ecx, [esp + 0x2b4]
push eax
lea edx, [esp + 0x2b4]
push ecx
push edx
call fcn.1002a470
mov eax, dword [esp + 0x2bc]
mov cl, byte [esp + 0x44]
add esp, 0x34
mov byte [eax + 0x241], cl
jmp 0x1001e349
and al, 0xc0
cmp al, 0xc0
jne case.default.0x1001e025
mov eax, dword [esp + 0x290]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
push edx
mov ebx, dword [eax]
lea edx, [esp + 0x28c]
inc ebx
mov dword [eax], ebx
lea eax, [esp + 0x294]
push eax
push edi
push ecx
lea eax, [esp + 0x29c]
push edx
push eax
mov al, byte [esp + 0x2c]
mov cl, al
shr al, 1
and cl, 1
and al, 1
push ecx
push eax
call fcn.10028840
mov edx, dword [esp + 0x2a8]
mov al, byte [esp + 0x30]
add esp, 0x20
mov byte [edx + 0x241], al
mov eax, dword [esp + 0x288]
pop edi
pop esi
mov cl, byte [eax + 0x240]
pop ebp
inc cl
pop ebx
mov byte [eax + 0x240], cl
add esp, 0x274
ret
mov edx, dword [esp + 0x288]
lea ecx, [esp + 0x184]
push ecx
push edx
call ebp
and edi, 0xff
lea eax, [esp + 0x184]
push edi
push 0x100e9e30
push eax
call ebx
add esp, 0xc
lea ecx, [esp + 0x184]
mov edx, dword [esp + 0x288]
push ecx
add edx, 0x200
push edx
call ebp
mov eax, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
pop edi
pop esi
mov byte [eax + 0x240], 2
mov ecx, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x280]
inc dword [eax]
add esp, 0x274
ret
mov edx, dword [esp + 0x28c]
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x54]
push ecx
lea ecx, [eax + edx + 2]
push ecx
call fcn.1002fa90
mov edx, dword [esp + 0x294]
mov ecx, dword [esp + 0x50]
add esp, 0xc
mov eax, dword [edx + 0x23c]
mov edx, dword [esp + 0x10]
add eax, edx
lea edx, [esp + 0x204]
lea eax, [ecx + eax + 6]
push eax
push str._08X
push edx
mov dword [esp + 0x50], eax
call ebx
lea edi, [esp + 0x210]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x184]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x184]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x28c]
push ecx
call ebp
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x204]
push edx
push str._08X
push eax
call ebx
mov eax, dword [esp + 0x54]
add esp, 0xc
and eax, 0xff
lea ecx, [esp + 0x184]
push eax
push 0x100e9e20
push ecx
call ebx
mov eax, dword [esp + 0x294]
add esp, 0xc
lea edx, [esp + 0x184]
add eax, 0x200
push edx
push eax
call ebp
mov edx, dword [esp + 0x288]
lea ecx, [esp + 0x204]
add edx, 0x200
push ecx
push edx
call ebp
mov eax, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
mov byte [eax + 0x240], 6
mov ecx, dword [esp + 0x288]
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x290]
mov ecx, dword [eax]
pop edi
add ecx, 5
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x274
ret
mov eax, dword [esp + 0x28c]
mov cl, byte [esi + eax + 2]
and cl, 0xc0
cmp cl, 0xc0
jne case.0x1001e025.1
mov eax, dword [esp + 0x290]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
push edx
mov ebx, dword [eax]
lea edx, [esp + 0x28c]
inc ebx
mov dword [eax], ebx
lea eax, [esp + 0x294]
push eax
push edi
push ecx
lea eax, [esp + 0x29c]
push edx
push eax
mov al, byte [esp + 0x2c]
mov cl, al
shr al, 1
and cl, 1
and al, 1
push ecx
push eax
call fcn.10028840
mov edx, dword [esp + 0x2a8]
mov al, byte [esp + 0x30]
add esp, 0x20
mov byte [edx + 0x241], al
mov eax, dword [esp + 0x288]
pop edi
pop esi
pop ebp
mov cl, byte [eax + 0x240]
pop ebx
inc cl
mov byte [eax + 0x240], cl
add esp, 0x274
ret
mov eax, dword [esp + 0x28c]
mov al, byte [esi + eax + 2]
cmp al, 8
jb 0x1001e3f2
cmp al, 0xf
ja 0x1001e3f2
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x70]
mov esi, dword [eax]
inc esi
mov dword [eax], esi
mov al, byte [esp + 0x18]
mov dl, al
shr al, 1
and dl, 1
and al, 1
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x64]
push eax
push ecx
push edx
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x2a8]
push edi
push ecx
push edx
push eax
mov eax, dword [esp + 0x2b8]
lea edx, [esp + 0x2b4]
mov ecx, dword [eax]
lea eax, [esp + 0x2b0]
push ecx
push edx
push eax
call fcn.1002a470
mov ecx, dword [esp + 0x2bc]
mov dl, byte [esp + 0x44]
add esp, 0x34
mov byte [ecx + 0x241], dl
jmp 0x1001e349
mov eax, dword [esp + 0x288]
push 0x100e9e1c
push eax
call ebp
and edi, 0xff
lea ecx, [esp + 0x184]
push edi
push 0x100e9e30
push ecx
call ebx
mov eax, dword [esp + 0x294]
add esp, 0xc
lea edx, [esp + 0x184]
add eax, 0x200
push edx
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
pop edi
pop esi
mov byte [ecx + 0x240], 2
mov edx, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [edx + 0x241], al
mov eax, dword [esp + 0x280]
inc dword [eax]
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
push str.push_ss
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov edi, str.Push_SS_register_to_the_stack
or ecx, 0xffffffff
xor eax, eax
add edx, 0x100
push 0x100e9df0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1001df2c
mov ecx, dword [esp + 0x288]
push str.pop_ss
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov edi, str.Pop_top_stack_to_SS
or ecx, 0xffffffff
xor eax, eax
add edx, 0x100
push 0x100e9dd0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1001df2c
mov ecx, dword [esp + 0x288]
push str.push_ds
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov edi, str.Push_DS_register_to_the_stack
or ecx, 0xffffffff
xor eax, eax
add edx, 0x100
push 0x100e9da4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1001df2c
mov ecx, dword [esp + 0x288]
push str.pop_ds
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov edi, str.Pop_top_stack_to_DS
or ecx, 0xffffffff
xor eax, eax
add edx, 0x100
push 0x100e9d84
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1001df2c
mov ecx, dword [esp + 0x288]
push 0x100e9d80
push ecx
call ebp
push 0x100e9d7c
mov edx, dword [esp + 0x28c]
add edx, 0x200
push edx
call ebp
mov eax, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
pop edi
pop esi
pop ebp
mov byte [eax + 0x241], cl
pop ebx
add esp, 0x274
ret
mov edx, dword [esp + 0x288]
push 0x100e9d78
push edx
call ebp
push 0x100e9d74
mov eax, dword [esp + 0x28c]
add eax, 0x200
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x241], dl
pop ebx
add esp, 0x274
ret
mov eax, dword [esp + 0x288]
push 0x100e9d70
push eax
call ebp
push 0x100e9d6c
jmp 0x1001df2c
mov ecx, dword [esp + 0x288]
push 0x100e9d68
push ecx
call ebp
push 0x100e9d64
jmp 0x1001e598
mov eax, dword [esp + 0x2c]
mov edx, edi
and edx, 0xf
lea eax, [eax + eax*8]
add edx, eax
mov ecx, dword [edx*4 + 0x100e95a0]
lea edx, [esp + 0x84]
push ecx
push str.inc__s
push edx
call ebx
mov ecx, dword [esp + 0x294]
add esp, 0xc
lea eax, [esp + 0x84]
push eax
push ecx
call ebp
push edi
lea edx, [esp + 0x88]
push 0x100e9e30
push edx
call ebx
add esp, 0xc
lea eax, [esp + 0x84]
push eax
jmp 0x1001df2c
mov eax, dword [esp + 0x2c]
mov ecx, edi
and ecx, 7
lea edx, [eax + eax*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x100e95a0]
push eax
push str.dec__s
jmp 0x1001e6e4
mov eax, dword [esp + 0x2c]
mov ecx, edi
and ecx, 0xf
lea edx, [eax + eax*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x100e95a0]
push eax
push str.push__s
jmp 0x1001e6e4
mov eax, dword [esp + 0x2c]
mov ecx, edi
and ecx, 0xf
lea edx, [eax + eax*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x100e9580]
push eax
push str.pop__s
lea ecx, [esp + 0x8c]
push ecx
call ebx
mov eax, dword [esp + 0x294]
add esp, 0xc
lea edx, [esp + 0x84]
push edx
push eax
call ebp
jmp 0x1001ea6e
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001e729
mov eax, dword [esp + 0x288]
push str.pushad
push eax
call ebp
push 0x100e9d38
jmp 0x1001e598
cmp al, 1
jne 0x1001e73c
mov ecx, dword [esp + 0x288]
push str.pushaw
push ecx
call ebp
push 0x100e9d38
jmp 0x1001e598
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001e767
mov edx, dword [esp + 0x288]
push str.popad
push edx
call ebp
push 0x100e9d24
jmp 0x1001df2c
cmp al, 1
jne 0x1001e77a
mov eax, dword [esp + 0x288]
push str.popaw
push eax
call ebp
push 0x100e9d24
jmp 0x1001df2c
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001e7e8
lea ecx, [esp + 0x44]
lea eax, [esp + 0x50]
push ecx
lea ecx, [esi + edx + 1]
push eax
push ecx
call fcn.1002fa90
mov edx, dword [esp + 0x50]
add esp, 0xc
lea eax, [esp + 0x84]
push edx
push str.push__08X
push eax
call ebx
mov edx, dword [esp + 0x294]
add esp, 0xc
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x84]
push eax
push str.68__08X
push ecx
call ebx
add esp, 0xc
jmp 0x10020106
lea ecx, [esp + 0x34]
lea eax, [esp + 0x3c]
push ecx
lea ecx, [esi + edx + 1]
push eax
push ecx
call fcn.1002fa50
mov edx, dword [esp + 0x40]
add esp, 0xc
and edx, 0xffff
lea eax, [esp + 0x84]
push edx
push str.push__04X
push eax
call ebx
mov edx, dword [esp + 0x294]
add esp, 0xc
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x84]
and eax, 0xffff
push eax
push str.68__04X
push ecx
call ebx
add esp, 0xc
jmp 0x1001de9e
mov dl, byte [esi + edx + 1]
cmp dl, 0x80
jb 0x1001e875
and edx, 0xff
mov ecx, 0x100
sub ecx, edx
lea edx, [esp + 0x84]
push ecx
push str.push___02X
push edx
jmp 0x1001e889
and edx, 0xff
lea eax, [esp + 0x84]
push edx
push str.push__02X
push eax
call ebx
mov edx, dword [esp + 0x294]
add esp, 0xc
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov ecx, dword [esp + 0x28c]
xor eax, eax
lea edx, [esp + 0x84]
mov al, byte [esi + ecx + 1]
push eax
push str.6A_02X
push edx
call ebx
add esp, 0xc
jmp 0x1001dce6
mov al, byte [esp + 0x14]
and al, 0xf
cmp al, 0xc
jne 0x1001e918
mov edx, dword [esp + 0x288]
push str.insb
push edx
call ebp
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x84]
lea eax, [eax + eax*8]
mov ecx, dword [eax*4 + 0x100e95bc]
push ecx
push str.Byte_ptr_ES:__s___DX
push edx
call ebx
mov eax, dword [esp + 0x294]
add esp, 0xc
lea edi, [esp + 0x84]
lea edx, [eax + 0x100]
jmp 0x1001ea4d
cmp al, 0xd
jne 0x1001ea6e
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001e950
mov ecx, dword [esp + 0x288]
push str.insd
push ecx
call ebp
mov eax, dword [esp + 0x40]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x100e95bc]
push eax
push str.Dword_ptr_ES:__s___DX
jmp 0x1001ea2c
cmp al, 1
jne 0x1001ea6e
mov ecx, dword [esp + 0x288]
push str.insw
push ecx
call ebp
mov eax, dword [esp + 0x40]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x100e95bc]
push eax
push str.Word_ptr_ES:__s___DX
jmp 0x1001ea2c
mov al, byte [esp + 0x14]
and al, 0xf
cmp al, 0xe
jne 0x1001e9d0
mov eax, dword [esp + 0x288]
push str.outsb
push eax
call ebp
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax*8]
lea eax, [esp + 0x84]
mov edx, dword [ecx*4 + 0x100e95bc]
push edx
push str.DX__Byte_ptr_ES:__s_
push eax
call ebx
mov ecx, dword [esp + 0x294]
add esp, 0xc
lea edi, [esp + 0x84]
lea edx, [ecx + 0x100]
jmp 0x1001ea4d
cmp al, 0xf
jne 0x1001ea6e
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001ea05
mov ecx, dword [esp + 0x288]
push str.outsd
push ecx
call ebp
mov eax, dword [esp + 0x40]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x100e95bc]
push eax
push str.DX__Dword_ptr_ES:__s_
jmp 0x1001ea2c
cmp al, 1
jne 0x1001ea6e
mov ecx, dword [esp + 0x288]
push str.outsw
push ecx
call ebp
mov eax, dword [esp + 0x40]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x100e95bc]
push eax
push str.DX__Word_ptr_ES:__s_
lea ecx, [esp + 0x8c]
push ecx
call ebx
mov edx, dword [esp + 0x294]
add esp, 0xc
lea edi, [esp + 0x84]
add edx, 0x100
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x30]
push edi
lea ecx, [esp + 0x88]
push 0x100e9e30
push ecx
call ebx
add esp, 0xc
lea edx, [esp + 0x84]
push edx
jmp 0x1001e5d8
mov dl, byte [esi + edx + 1]
mov byte [esp + 0x48], dl
mov ecx, dword [esp + 0x48]
cmp dl, 0x7f
jbe 0x1001eabd
mov edx, dword [esp + 0x288]
and ecx, 0xff
mov edx, dword [edx + 0x23c]
add edx, ecx
lea eax, [edx + eax - 0xfe]
jmp 0x1001ead6
mov edx, dword [esp + 0x288]
and ecx, 0xff
mov edx, dword [edx + 0x23c]
add edx, ecx
lea eax, [edx + eax + 2]
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x74]
push ecx
push edx
mov dword [esp + 0x50], eax
call fcn.10027f00
mov al, byte [esp + 0x1c]
add esp, 8
cmp al, 0xe3
jne 0x1001eb29
cmp byte [esp + 0x58], 1
jne 0x1001eb29
mov edi, str.jcxz
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x74]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x74]
push ecx
push edx
lea eax, [esp + 0x8c]
push str._s__08X
push eax
call ebx
mov edx, dword [esp + 0x298]
add esp, 0x10
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov ecx, dword [esp + 0x28c]
xor eax, eax
mov al, byte [esi + ecx + 1]
push eax
push edi
jmp 0x1001dcd4
mov edx, dword [esp + 0x288]
push 0x100e9c00
push edx
call ebp
push 0x100e9bfc
jmp 0x1001e5d8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x290]
push eax
push ecx
push edx
lea eax, [esp + 0x294]
push str.xchg
lea ecx, [esp + 0x29c]
push eax
push ecx
push 1
push 1
call fcn.10021110
add esp, 0x20
jmp 0x1001df3c
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001ebdd
mov ecx, dword [esp + 0x288]
push str.cwde
push ecx
call ebp
push 0x100e9be8
jmp 0x1001e5d8
cmp al, 1
jne 0x1001ebf0
mov edx, dword [esp + 0x288]
push 0x100e9be4
push edx
call ebp
push 0x100e9be8
jmp 0x1001e5d8
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001ec1b
mov eax, dword [esp + 0x288]
push 0x100e9be0
push eax
call ebp
push 0x100e9be8
jmp 0x1001e598
cmp al, 1
jne 0x1001ec2e
mov ecx, dword [esp + 0x288]
push 0x100e9bdc
push ecx
call ebp
push 0x100e9be8
jmp 0x1001e598
mov eax, edi
sub eax, 0x9a
je 0x1001ec68
sub eax, 0x50
jne 0x1001ec9c
mov edi, 0x100e9bd8
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x74]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], esi
mov esi, edi
mov edi, dword [esp + 0x20]
mov eax, ecx
jmp 0x1001ec88
mov edi, str.call
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x74]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], esi
mov esi, edi
mov edi, dword [esp + 0x20]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x4c]
mov al, byte [esp + 0x58]
test al, al
jne 0x1001ed7d
lea ecx, [esp + 0x44]
lea eax, [esp + 0x50]
push ecx
lea ecx, [esi + edx + 1]
push eax
push ecx
call fcn.1002fa90
mov ecx, dword [esp + 0x298]
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x4c]
lea edx, [esi + ecx + 5]
push eax
push edx
call fcn.1002fa50
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x5c]
add esp, 0x18
and ecx, 0xffff
lea edx, [esp + 0x74]
push eax
push ecx
push edx
lea eax, [esp + 0x90]
push str._s__04X:_08X
push eax
call ebx
mov edx, dword [esp + 0x29c]
add esp, 0x14
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
and eax, 0xffff
lea edx, [esp + 0x84]
push eax
push ecx
push edi
push str._02X__08X__04X
push edx
call ebx
mov ecx, dword [esp + 0x29c]
add esp, 0x14
lea eax, [esp + 0x84]
add ecx, 0x200
push eax
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
mov byte [edx + 0x240], 7
mov eax, dword [esp + 0x288]
mov byte [eax + 0x241], cl
mov eax, dword [esp + 0x290]
mov ecx, dword [eax]
add ecx, 6
jmp 0x1001ee5a
lea eax, [esp + 0x34]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esi + edx + 3]
push ecx
push edx
call fcn.1002fa50
mov edx, dword [esp + 0x298]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x58]
lea eax, [esi + edx + 1]
push ecx
push eax
call fcn.1002fa50
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x4c]
add esp, 0x18
and ecx, 0xffff
and edx, 0xffff
lea eax, [esp + 0x74]
push ecx
push edx
push eax
lea ecx, [esp + 0x90]
push str._s__04X:_08X
push ecx
call ebx
mov eax, dword [esp + 0x29c]
add esp, 0x14
lea edx, [esp + 0x84]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
and ecx, 0xffff
and edx, 0xffff
push ecx
push edx
push edi
lea eax, [esp + 0x90]
push str._02X__04X__04X
push eax
call ebx
mov edx, dword [esp + 0x29c]
add esp, 0x14
lea ecx, [esp + 0x84]
add edx, 0x200
push ecx
push edx
call ebp
mov eax, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
mov byte [eax + 0x240], 5
mov ecx, dword [esp + 0x288]
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x290]
mov ecx, dword [eax]
add ecx, 4
mov dword [eax], ecx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x88]
push str.Far__s
push ecx
call ebx
mov edx, dword [esp + 0x294]
lea edi, [esp + 0x90]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
add edx, 0x100
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
push str.wait
push ecx
call ebp
push 0x100e9b8c
jmp 0x1001e598
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001eee9
mov edx, dword [esp + 0x288]
push str.pushfd
push edx
call ebp
push 0x100e9b80
jmp 0x1001df2c
cmp al, 1
jne 0x1001eefc
mov eax, dword [esp + 0x288]
push str.pushfw
push eax
call ebp
push 0x100e9b80
jmp 0x1001df2c
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001ef27
mov ecx, dword [esp + 0x288]
push str.popfd
push ecx
call ebp
push 0x100e9b6c
jmp 0x1001e5d8
cmp al, 1
jne 0x1001ef3a
mov edx, dword [esp + 0x288]
push str.popfw
push edx
call ebp
push 0x100e9b6c
jmp 0x1001e5d8
mov eax, dword [esp + 0x288]
push str.sahf
push eax
call ebp
push 0x100e9b58
jmp 0x1001df2c
mov ecx, dword [esp + 0x288]
push str.lahf
push ecx
call ebp
push 0x100e9b4c
jmp 0x1001e598
mov al, byte [esp + 0x58]
test al, al
jne 0x1001efe5
lea eax, [esp + 0x44]
lea ecx, [esp + 0x50]
push eax
lea edx, [esi + edx + 1]
push ecx
push edx
call fcn.1002fa90
mov eax, edi
add esp, 0xc
sub eax, 0xa0
je 0x1001efca
sub eax, 2
jne 0x1001f735
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
push eax
lea eax, [esp + 0x88]
mov edx, dword [ecx*4 + 0x100e961c]
push edx
push str.mov_Byte_ptr__s:__08X___al
push eax
jmp 0x1001f730
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
push ecx
mov eax, dword [edx*4 + 0x100e961c]
push eax
push str.mov_al__Byte_ptr__s:__08X_
jmp 0x1001f728
lea eax, [esp + 0x34]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esi + edx + 1]
push ecx
push edx
call fcn.1002fa50
mov eax, edi
add esp, 0xc
sub eax, 0xa0
je 0x1001f036
sub eax, 2
jne 0x1001f7f4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
and eax, 0xffff
mov edx, dword [ecx*4 + 0x100e961c]
push eax
push edx
lea eax, [esp + 0x8c]
push str.mov_Byte_ptr__s:__04X___al
push eax
jmp 0x1001f7ef
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
and ecx, 0xffff
mov eax, dword [edx*4 + 0x100e961c]
push ecx
push eax
push str.mov_al__Byte_ptr__s:__04X_
jmp 0x1001f7e7
mov al, byte [esp + 0x58]
test al, al
jne 0x1001f104
lea eax, [esp + 0x44]
lea ecx, [esp + 0x50]
push eax
lea edx, [esi + edx + 1]
push ecx
push edx
call fcn.1002fa90
mov eax, edi
add esp, 0xc
sub eax, 0xa1
je 0x1001f0c8
sub eax, 2
jne 0x1001f735
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
lea eax, [eax + eax*8]
mov ecx, dword [eax*4 + 0x100e95a0]
mov eax, dword [esp + 0x18]
push ecx
push edx
mov ecx, dword [eax*4 + 0x100e961c]
lea edx, [esp + 0x68]
push ecx
push edx
lea eax, [esp + 0x94]
push str.mov__s_ptr__s:__08X____s
push eax
call ebx
add esp, 0x18
jmp 0x1001f735
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
push ecx
lea ecx, [esp + 0x64]
mov eax, dword [edx*4 + 0x100e961c]
push eax
mov eax, dword [esp + 0x34]
push ecx
lea ecx, [esp + 0x90]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x100e95a0]
push eax
push str.mov__s___s_ptr__s:__08X_
push ecx
call ebx
add esp, 0x18
jmp 0x1001f735
cmp al, 1
jne case.default.0x1001e025
lea eax, [esp + 0x34]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esi + edx + 1]
push ecx
push edx
call fcn.1002fa50
mov eax, edi
add esp, 0xc
sub eax, 0xa1
je 0x1001f177
sub eax, 2
jne 0x1001f7f4
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
and edx, 0xffff
lea eax, [eax + eax*8]
mov ecx, dword [eax*4 + 0x100e95a0]
mov eax, dword [esp + 0x18]
push ecx
push edx
mov ecx, dword [eax*4 + 0x100e961c]
lea edx, [esp + 0x68]
push ecx
push edx
lea eax, [esp + 0x94]
push str.mov__s_ptr__s:__04X____s
push eax
call ebx
add esp, 0x18
jmp 0x1001f7f4
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
and ecx, 0xffff
mov eax, dword [edx*4 + 0x100e961c]
push ecx
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x68]
lea edx, [eax + eax*8]
push ecx
lea ecx, [esp + 0x90]
mov eax, dword [edx*4 + 0x100e95a0]
push eax
push str.mov__s___s_ptr__s:__04X_
push ecx
call ebx
add esp, 0x18
jmp 0x1001f7f4
cmp byte [esp + 0x38], 1
jne 0x1001f1ee
cmp byte [esi + edx - 1], 0xf3
jne 0x1001f1ee
mov edi, str.rep
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x288]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x40]
and cl, 0xf
cmp cl, 4
jne 0x1001f238
mov edx, dword [esp + 0x18]
lea eax, [eax + eax*8]
shl eax, 2
mov ecx, dword [eax + 0x100e95b8]
push ecx
mov ecx, dword [edx*4 + 0x100e961c]
mov edx, dword [eax + 0x100e95bc]
mov eax, dword [0x100e961c]
push ecx
push edx
push eax
lea ecx, [esp + 0x94]
push str.Byte_ptr__s:__s___Byte_ptr__s:__s_
push ecx
call ebx
add esp, 0x18
jmp 0x1001f27f
cmp cl, 5
jne 0x1001f27f
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*8]
shl eax, 2
mov edx, dword [eax + 0x100e95b8]
push edx
mov edx, dword [ecx*4 + 0x100e961c]
push edx
mov edx, dword [eax + 0x100e95bc]
mov eax, dword [0x100e961c]
lea ecx, [esp + 0x68]
push ecx
push edx
lea ecx, [esp + 0x70]
push eax
push ecx
lea edx, [esp + 0x9c]
push str._s_ptr__s:__s____s_ptr__s:__s_
push edx
call ebx
add esp, 0x20
mov eax, dword [esp + 0x288]
push str.movs
push eax
call ebp
mov ecx, dword [esp + 0x288]
lea edi, [esp + 0x84]
lea edx, [ecx + 0x100]
jmp 0x1001f618
mov al, byte [esp + 0x14]
and al, 0xf
cmp al, 6
jne 0x1001f343
mov al, byte [esp + 0x38]
cmp al, 1
mov eax, dword [esp + 0x40]
lea eax, [eax + eax*8]
jne 0x1001f303
mov edx, dword [esp + 0x18]
shl eax, 2
mov ecx, dword [eax + 0x100e95b8]
push ecx
mov ecx, dword [edx*4 + 0x100e961c]
mov edx, dword [eax + 0x100e95bc]
mov eax, dword [0x100e961c]
push ecx
push edx
push eax
lea ecx, [esp + 0x94]
push str.Byte_ptr__s:__s___Byte_ptr__s:__s_
push ecx
call ebx
add esp, 0x18
push str.cmps
jmp 0x1001f5fa
mov ecx, dword [0x100e961c]
shl eax, 2
mov edx, dword [eax + 0x100e95bc]
push edx
mov edx, dword [eax + 0x100e95b8]
mov eax, dword [esp + 0x1c]
push ecx
push edx
lea edx, [esp + 0x90]
mov ecx, dword [eax*4 + 0x100e961c]
push ecx
push str.Byte_ptr__s:__s___Byte_ptr__s:__s_
push edx
call ebx
add esp, 0x18
push str.cmps
jmp 0x1001f5fa
cmp al, 7
jne 0x1001f3c0
mov al, byte [esp + 0x38]
cmp al, 1
mov eax, dword [esp + 0x40]
lea eax, [eax + eax*8]
jne 0x1001f380
mov edx, dword [esp + 0x18]
shl eax, 2
mov ecx, dword [eax + 0x100e95b8]
mov eax, dword [eax + 0x100e95bc]
push ecx
mov ecx, dword [edx*4 + 0x100e961c]
lea edx, [esp + 0x64]
push ecx
mov ecx, dword [0x100e961c]
push edx
push eax
jmp 0x1001f3a8
mov edx, dword [0x100e961c]
shl eax, 2
mov ecx, dword [eax + 0x100e95bc]
push ecx
push edx
mov edx, dword [eax + 0x100e95b8]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [eax*4 + 0x100e961c]
push edx
lea edx, [esp + 0x70]
push ecx
push edx
lea eax, [esp + 0x9c]
push str._s_ptr__s:__s____s_ptr__s:__s_
push eax
call ebx
add esp, 0x20
push str.cmps
jmp 0x1001f5fa
cmp byte [esp + 0x38], 1
jne 0x1001f3ff
cmp byte [esi + edx - 1], 0xf3
jne 0x1001f3ff
mov edi, str.rep
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x288]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [esp + 0x14]
mov ecx, dword [esp + 0x40]
and al, 0xf
cmp al, 0xa
jne 0x1001f43b
mov edx, dword [0x100e961c]
lea eax, [ecx + ecx*8]
mov ecx, dword [eax*4 + 0x100e95bc]
lea eax, [esp + 0x84]
push ecx
push edx
push str.Byte_ptr__s:__s_
push eax
call ebx
add esp, 0x10
push str.stos
jmp 0x1001f50b
cmp al, 0xb
jne 0x1001f467
mov eax, dword [0x100e961c]
lea ecx, [ecx + ecx*8]
mov edx, dword [ecx*4 + 0x100e95bc]
lea ecx, [esp + 0x60]
push edx
push eax
push ecx
lea edx, [esp + 0x90]
push str._s_ptr__s:__s_
push edx
call ebx
add esp, 0x14
push str.stos
jmp 0x1001f50b
cmp byte [esp + 0x38], 1
jne 0x1001f4a6
cmp byte [esi + edx - 1], 0xf3
jne 0x1001f4a6
mov edi, str.rep
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x288]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [esp + 0x14]
mov ecx, dword [esp + 0x40]
and al, 0xf
cmp al, 0xc
jne 0x1001f4da
mov edx, dword [0x100e9628]
lea eax, [ecx + ecx*8]
mov ecx, dword [eax*4 + 0x100e95b8]
lea eax, [esp + 0x84]
push ecx
push edx
push str.Byte_ptr__s:__s_
push eax
call ebx
add esp, 0x10
jmp 0x1001f506
cmp al, 0xd
jne 0x1001f506
mov eax, dword [0x100e9628]
lea ecx, [ecx + ecx*8]
mov edx, dword [ecx*4 + 0x100e95b8]
lea ecx, [esp + 0x60]
push edx
push eax
push ecx
lea edx, [esp + 0x90]
push str._s_ptr__s:__s_
push edx
call ebx
add esp, 0x14
push str.lods
mov eax, dword [esp + 0x28c]
push eax
call ebp
mov ecx, dword [esp + 0x288]
lea edi, [esp + 0x84]
xor eax, eax
lea edx, [ecx + 0x100]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x84]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
push ecx
push 0x100e9e30
push edx
call ebx
mov ecx, dword [esp + 0x294]
add esp, 0xc
lea eax, [esp + 0x84]
add ecx, 0x200
push eax
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov al, byte [esp + 0x54]
pop edi
pop esi
pop ebp
mov byte [edx + 0x241], al
pop ebx
add esp, 0x274
ret
mov al, byte [esp + 0x14]
and al, 0xf
cmp al, 0xe
jne 0x1001f5c4
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax*8]
mov eax, dword [0x100e961c]
mov edx, dword [ecx*4 + 0x100e95bc]
lea ecx, [esp + 0x84]
push edx
push eax
push str.Byte_ptr__s:__s_
push ecx
call ebx
add esp, 0x10
jmp 0x1001f5f5
cmp al, 0xf
jne 0x1001f5f5
mov eax, dword [esp + 0x40]
mov ecx, dword [0x100e961c]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x100e95bc]
lea edx, [esp + 0x60]
push eax
push ecx
push edx
lea eax, [esp + 0x90]
push str._s_ptr__s:__s_
push eax
call ebx
add esp, 0x14
push str.scas
mov ecx, dword [esp + 0x28c]
push ecx
call ebp
mov edx, dword [esp + 0x288]
lea edi, [esp + 0x84]
add edx, 0x100
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x84]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
push ecx
push 0x100e9e30
push edx
call ebx
mov ecx, dword [esp + 0x294]
add esp, 0xc
lea eax, [esp + 0x84]
add ecx, 0x200
push eax
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov al, byte [esp + 0x54]
pop edi
pop esi
pop ebp
mov byte [edx + 0x241], al
pop ebx
add esp, 0x274
ret
xor ecx, ecx
mov cl, byte [esi + edx + 1]
mov edx, edi
and edx, 0xf
push ecx
lea ecx, [esp + 0x88]
mov eax, dword [edx*4 + 0x100e95a0]
push eax
push str.mov__s___02X
push ecx
call ebx
mov eax, dword [esp + 0x298]
add esp, 0x10
lea edx, [esp + 0x84]
push edx
push eax
call ebp
mov edx, dword [esp + 0x28c]
xor ecx, ecx
lea eax, [esp + 0x84]
mov cl, byte [esi + edx + 1]
push ecx
push edi
push str._02X_02X
push eax
call ebx
add esp, 0x10
lea ecx, [esp + 0x84]
jmp 0x1001e164
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001f7ab
lea eax, [esp + 0x44]
lea ecx, [esp + 0x50]
push eax
lea edx, [esi + edx + 1]
push ecx
push edx
call fcn.1002fa90
mov eax, dword [esp + 0x50]
add esp, 0xc
mov ecx, edi
push eax
mov eax, dword [esp + 0x30]
and ecx, 0xf
lea edx, [eax + eax*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x100e9580]
push eax
push str.mov__s___08X
lea ecx, [esp + 0x90]
push ecx
call ebx
add esp, 0x10
mov eax, dword [esp + 0x288]
lea edx, [esp + 0x84]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x84]
push ecx
push edi
push str._02X__08X
push edx
call ebx
mov ecx, dword [esp + 0x298]
add esp, 0x10
lea eax, [esp + 0x84]
add ecx, 0x200
push eax
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
pop edi
pop esi
mov byte [edx + 0x240], 5
mov eax, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [eax + 0x241], cl
mov eax, dword [esp + 0x280]
add dword [eax], 4
add esp, 0x274
ret
lea eax, [esp + 0x34]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esi + edx + 1]
push ecx
push edx
call fcn.1002fa50
mov eax, dword [esp + 0x40]
add esp, 0xc
and eax, 0xffff
mov ecx, edi
push eax
mov eax, dword [esp + 0x30]
and ecx, 0xf
lea edx, [eax + eax*8]
add ecx, edx
mov eax, dword [ecx*4 + 0x100e9580]
push eax
push str.mov__s___04X
lea ecx, [esp + 0x90]
push ecx
call ebx
add esp, 0x10
mov eax, dword [esp + 0x288]
lea edx, [esp + 0x84]
push edx
push eax
call ebp
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x84]
and ecx, 0xffff
push ecx
push edi
push str._02X__04X
push edx
call ebx
mov ecx, dword [esp + 0x298]
add esp, 0x10
lea eax, [esp + 0x84]
add ecx, 0x200
push eax
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
pop edi
pop esi
mov byte [edx + 0x240], 3
mov eax, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [eax + 0x241], cl
mov eax, dword [esp + 0x280]
add dword [eax], 2
add esp, 0x274
ret
mov eax, edi
sub eax, 0xc2
je 0x1001f88a
sub eax, 8
jne 0x1001f8a0
lea edx, [esp + 0x20]
push str.retf
push edx
jmp 0x1001f894
lea eax, [esp + 0x20]
push 0x100e9998
push eax
call ebx
mov edx, dword [esp + 0x294]
add esp, 8
lea ecx, [esp + 0x34]
lea eax, [esp + 0x3c]
push ecx
lea ecx, [esi + edx + 1]
push eax
push ecx
call fcn.1002fa50
mov eax, dword [esp + 0x40]
add esp, 0xc
cmp ax, 0xa000
jb 0x1001f8db
and eax, 0xffff
lea edx, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x8c]
push str._s__05X
push eax
jmp 0x1001f8f3
and eax, 0xffff
lea ecx, [esp + 0x20]
push eax
push ecx
lea edx, [esp + 0x8c]
push str._s__04X
push edx
call ebx
mov ecx, dword [esp + 0x298]
add esp, 0x10
lea eax, [esp + 0x84]
push eax
push ecx
call ebp
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x84]
and edx, 0xffff
push edx
push edi
push str._02X__04X
push eax
call ebx
mov edx, dword [esp + 0x298]
add esp, 0x10
lea ecx, [esp + 0x84]
add edx, 0x200
push ecx
push edx
call ebp
mov eax, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
mov byte [eax + 0x240], 3
mov ecx, dword [esp + 0x288]
mov al, byte [esp + 0x70]
cmp al, 1
mov byte [ecx + 0x241], dl
jne 0x1001f97b
mov eax, dword [esp + 0x288]
push str._Illegal_Lock_Prefix_
add eax, 0x100
push eax
call ebp
mov eax, dword [esp + 0x290]
pop edi
pop esi
pop ebp
mov ecx, dword [eax]
pop ebx
add ecx, 2
mov dword [eax], ecx
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
push 0x100e9998
push ecx
call ebp
mov edx, dword [esp + 0x288]
push 0x100e996c
add edx, 0x200
push edx
call ebp
mov eax, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
push str.Pop_IP
mov byte [eax + 0x241], cl
mov edx, dword [esp + 0x28c]
add edx, 0x100
push edx
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
lea eax, [esp + 0x34]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esi + edx + 1]
push ecx
push edx
call fcn.1002fa50
mov ecx, dword [esp + 0x298]
mov edx, dword [esp + 0x40]
xor eax, eax
add esp, 0xc
mov al, byte [esi + ecx + 3]
and edx, 0xffff
push eax
push edx
lea eax, [esp + 0x8c]
push str.enter__04X___02X
push eax
call ebx
mov edx, dword [esp + 0x298]
add esp, 0x10
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x3c]
xor eax, eax
and edx, 0xffff
mov al, byte [esi + ecx + 3]
push eax
push edx
lea eax, [esp + 0x8c]
push str.C8__04X__02X
push eax
call ebx
mov edx, dword [esp + 0x298]
add esp, 0x10
lea ecx, [esp + 0x84]
add edx, 0x200
push ecx
push edx
call ebp
mov eax, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
pop edi
pop esi
mov byte [eax + 0x240], 4
mov ecx, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x280]
add dword [eax], 3
add esp, 0x274
ret
mov eax, dword [esp + 0x288]
push str.leave
push eax
call ebp
push 0x100e9934
jmp 0x1001df2c
mov ecx, dword [esp + 0x288]
push str.retf
push ecx
call ebp
push 0x100e9930
jmp 0x1001e598
mov edx, dword [esp + 0x288]
push str.int3
push edx
call ebp
push 0x100e9924
jmp 0x1001e5d8
xor eax, eax
lea ecx, [esp + 0x84]
mov al, byte [esi + edx + 1]
push eax
push str.int__02X
push ecx
call ebx
mov eax, dword [esp + 0x294]
add esp, 0xc
lea edx, [esp + 0x84]
push edx
push eax
call ebp
mov edx, dword [esp + 0x28c]
xor ecx, ecx
lea eax, [esp + 0x84]
mov cl, byte [esi + edx + 1]
push ecx
push str.CD__02X
push eax
call ebx
add esp, 0xc
lea ecx, [esp + 0x84]
jmp 0x1001e164
mov eax, dword [esp + 0x288]
push str.into
push eax
call ebp
push 0x100e9904
jmp 0x1001df2c
mov al, byte [esp + 0x1c]
test al, al
jne 0x1001fb90
mov ecx, dword [esp + 0x288]
push str.iretd
push ecx
call ebp
push 0x100e98f8
jmp 0x1001e5d8
cmp al, 1
jne 0x1001fba3
mov edx, dword [esp + 0x288]
push str.iretw
push edx
call ebp
push 0x100e98f8
jmp 0x1001e5d8
mov eax, edi
sub eax, 0xd4
je 0x1001fbc5
dec eax
jne 0x1001fbdb
lea eax, [esp + 0x20]
push 0x100e98ec
push eax
jmp 0x1001fbcf
lea ecx, [esp + 0x20]
push 0x100e98e8
push ecx
call ebx
mov edx, dword [esp + 0x294]
add esp, 8
xor eax, eax
lea ecx, [esp + 0x20]
mov al, byte [esi + edx + 1]
lea edx, [esp + 0x84]
push eax
push ecx
push str._s__02X
push edx
call ebx
mov ecx, dword [esp + 0x298]
add esp, 0x10
lea eax, [esp + 0x84]
push eax
push ecx
call ebp
mov eax, dword [esp + 0x28c]
xor edx, edx
lea ecx, [esp + 0x84]
mov dl, byte [esi + eax + 1]
push edx
push edi
push str._02X_02X
push ecx
call ebx
mov eax, dword [esp + 0x298]
add esp, 0x10
lea edx, [esp + 0x84]
add eax, 0x200
push edx
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
pop edi
pop esi
mov byte [ecx + 0x240], 2
mov edx, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [edx + 0x241], al
mov eax, dword [esp + 0x280]
inc dword [eax]
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
push str.salc
push ecx
call ebp
push 0x100e98d4
jmp 0x1001e598
mov edx, dword [esp + 0x288]
push str.xlat
push edx
call ebp
mov eax, dword [esp + 0x288]
push 0x100e98c8
add eax, 0x200
push eax
call ebp
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x18]
mov edx, dword [ecx*4 + 0x100e95ac]
mov ecx, dword [eax*4 + 0x100e961c]
push edx
push ecx
lea edx, [esp + 0x8c]
push str.Byte_ptr__s:__sal_
push edx
call ebx
mov ecx, dword [esp + 0x298]
add esp, 0x10
lea eax, [esp + 0x84]
add ecx, 0x100
push eax
jmp 0x1001df39
mov cl, byte [0x10140890]
xor edx, edx
mov byte [esp + 0x20], cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x21], edx
lea eax, [esp + 0x20]
mov dword [esp + 0x25], edx
push eax
push ecx
mov byte [esp + 0x31], dl
call fcn.10027cc0
mov al, byte [esp + 0x24]
add esp, 8
test al, al
jne 0x1001fd69
mov eax, dword [esp + 0x28c]
mov ecx, dword [0x100e95e8]
xor edx, edx
mov dl, byte [esi + eax + 1]
lea eax, [esp + 0x84]
push edx
lea edx, [esp + 0x24]
push ecx
push edx
push str._s__s___02X
push eax
call ebx
mov edx, dword [esp + 0x29c]
add esp, 0x14
lea ecx, [esp + 0x84]
push ecx
push edx
jmp 0x1001fdac
cmp byte [esp + 0x1c], 1
jne 0x1001fdae
mov ecx, dword [esp + 0x28c]
mov edx, dword [0x100e95c4]
xor eax, eax
mov al, byte [esi + ecx + 1]
lea ecx, [esp + 0x84]
push eax
lea eax, [esp + 0x24]
push edx
push eax
push str._s__s___02X
push ecx
call ebx
mov eax, dword [esp + 0x29c]
add esp, 0x14
lea edx, [esp + 0x84]
push edx
push eax
call ebp
mov edx, dword [esp + 0x28c]
xor ecx, ecx
lea eax, [esp + 0x84]
mov cl, byte [esi + edx + 1]
push ecx
push 0xe5
push str._02X_02X
push eax
call ebx
mov edx, dword [esp + 0x298]
add esp, 0x10
lea ecx, [esp + 0x84]
add edx, 0x200
push ecx
push edx
call ebp
mov eax, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
push str.I_O_Instruction
mov byte [eax + 0x240], 2
mov ecx, dword [esp + 0x28c]
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x28c]
add eax, 0x100
push eax
call ebp
mov eax, dword [esp + 0x290]
pop edi
pop esi
pop ebp
mov ecx, dword [eax]
pop ebx
inc ecx
mov dword [eax], ecx
add esp, 0x274
ret
mov cl, byte [0x10140890]
xor edx, edx
mov byte [esp + 0x20], cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x21], edx
lea eax, [esp + 0x20]
mov dword [esp + 0x25], edx
push eax
push ecx
mov byte [esp + 0x31], dl
call fcn.10027cc0
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x54]
xor edx, edx
add esp, 8
mov dl, byte [ecx + eax + 1]
lea eax, [esp + 0x84]
push edx
lea edx, [esp + 0x24]
push edx
push str._s__02X__al
push eax
call ebx
mov edx, dword [esp + 0x298]
add esp, 0x10
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x288]
mov edi, 0x10140890
or ecx, 0xffffffff
lea edx, [eax + 0x100]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x4c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x28c]
xor ecx, ecx
mov cl, byte [eax + edx + 1]
push ecx
push 0xe6
jmp 0x1001ffac
mov dl, byte [0x10140890]
xor eax, eax
mov byte [esp + 0x20], dl
mov edx, dword [esp + 0x14]
mov dword [esp + 0x21], eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x25], eax
push ecx
push edx
mov byte [esp + 0x31], al
call fcn.10027cc0
mov al, byte [esp + 0x24]
add esp, 8
test al, al
jne 0x1001ff54
mov edx, dword [esp + 0x28c]
mov eax, dword [0x100e95e8]
xor ecx, ecx
push eax
mov cl, byte [esi + edx + 1]
lea eax, [esp + 0x24]
push ecx
push eax
lea ecx, [esp + 0x90]
push str._s__02X___s
push ecx
call ebx
mov eax, dword [esp + 0x29c]
add esp, 0x14
lea edx, [esp + 0x84]
push edx
push eax
jmp 0x1001ff97
cmp byte [esp + 0x1c], 1
jne 0x1001ff99
mov eax, dword [esp + 0x28c]
mov ecx, dword [0x100e95c4]
xor edx, edx
push ecx
mov dl, byte [esi + eax + 1]
lea ecx, [esp + 0x24]
push edx
push ecx
lea edx, [esp + 0x90]
push str._s__02X___s
push edx
call ebx
mov ecx, dword [esp + 0x29c]
add esp, 0x14
lea eax, [esp + 0x84]
push eax
push ecx
call ebp
mov eax, dword [esp + 0x28c]
xor edx, edx
mov dl, byte [esi + eax + 1]
push edx
push 0xe7
lea ecx, [esp + 0x8c]
push str._02X_02X
push ecx
call ebx
mov eax, dword [esp + 0x298]
add esp, 0x10
lea edx, [esp + 0x84]
add eax, 0x200
push edx
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
push str.I_O_Instruction
mov byte [ecx + 0x240], 2
mov edx, dword [esp + 0x28c]
mov byte [edx + 0x241], al
mov ecx, dword [esp + 0x28c]
add ecx, 0x100
push ecx
call ebp
mov eax, dword [esp + 0x290]
pop edi
pop esi
pop ebp
mov ecx, dword [eax]
pop ebx
inc ecx
mov dword [eax], ecx
add esp, 0x274
ret
mov eax, edi
sub eax, 0xe8
je 0x1002004e
dec eax
jne 0x10020082
mov edi, 0x100e9bd8
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x74]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], esi
mov esi, edi
mov edi, dword [esp + 0x20]
mov eax, ecx
jmp 0x1002006e
mov edi, str.call
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x74]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], esi
mov esi, edi
mov edi, dword [esp + 0x20]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x4c]
mov al, byte [esp + 0x1c]
test al, al
jne 0x10020151
lea ecx, [esp + 0x44]
lea eax, [esp + 0x50]
push ecx
lea ecx, [esi + edx + 1]
push eax
push ecx
call fcn.1002fa90
mov edx, dword [esp + 0x294]
mov ecx, dword [esp + 0x50]
add esp, 0xc
mov eax, dword [edx + 0x23c]
mov edx, dword [esp + 0x10]
add eax, edx
lea edx, [esp + 0x74]
lea eax, [ecx + eax + 5]
mov dword [esp + 0x44], eax
push eax
push edx
lea eax, [esp + 0x8c]
push str._s__08X
push eax
call ebx
mov edx, dword [esp + 0x298]
add esp, 0x10
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x84]
push eax
push edi
push str._02X__08X
push ecx
call ebx
add esp, 0x10
mov eax, dword [esp + 0x288]
lea edx, [esp + 0x84]
add eax, 0x200
push edx
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
pop edi
pop esi
mov byte [ecx + 0x240], 5
mov edx, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [edx + 0x241], al
mov eax, dword [esp + 0x280]
add dword [eax], 4
add esp, 0x274
ret
lea ecx, [esp + 0x34]
lea eax, [esp + 0x3c]
push ecx
lea ecx, [esi + edx + 1]
push eax
push ecx
call fcn.1002fa50
mov eax, dword [esp + 0x40]
add esp, 0xc
cmp ax, 0xf000
jb 0x1002018a
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
and eax, 0xffff
sub eax, ecx
lea eax, [eax + edx - 0xeffc]
jmp 0x100201af
mov ecx, dword [esp + 0x288]
and eax, 0xffff
mov edx, dword [ecx + 0x23c]
add edx, eax
mov eax, dword [esp + 0x48]
sub edx, eax
mov eax, dword [esp + 0x10]
lea eax, [edx + eax - 0x3ffffc]
lea ecx, [esp + 0x74]
push eax
push ecx
lea edx, [esp + 0x8c]
push str._s__08X
push edx
call ebx
mov ecx, dword [esp + 0x298]
add esp, 0x10
lea eax, [esp + 0x84]
push eax
push ecx
call ebp
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x84]
and edx, 0xffff
push edx
push edi
push str._02X__04X
push eax
call ebx
mov edx, dword [esp + 0x298]
add esp, 0x10
lea ecx, [esp + 0x84]
add edx, 0x200
push ecx
push edx
call ebp
mov eax, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
pop edi
pop esi
mov byte [eax + 0x240], 3
mov ecx, dword [esp + 0x280]
pop ebp
pop ebx
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x280]
add dword [eax], 2
add esp, 0x274
ret
mov eax, dword [esp + 0x288]
push str.in_al__dx
push eax
call ebp
push 0x100e9870
mov ecx, dword [esp + 0x28c]
add ecx, 0x200
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
push str.I_O_Instruction
mov byte [edx + 0x241], al
mov ecx, dword [esp + 0x28c]
add ecx, 0x100
push ecx
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x84]
lea edx, [eax + eax*8]
mov eax, dword [edx*4 + 0x100e95a0]
push eax
push str.in__s__dx
push ecx
call ebx
mov eax, dword [esp + 0x294]
add esp, 0xc
lea edx, [esp + 0x84]
push edx
push eax
call ebp
push 0x100e9860
jmp 0x10020257
mov edx, dword [esp + 0x288]
push str.out_dx__al
push edx
call ebp
push 0x100e9850
jmp 0x10020320
mov eax, dword [esp + 0x2c]
lea ecx, [eax + eax*8]
lea eax, [esp + 0x84]
mov edx, dword [ecx*4 + 0x100e95a0]
push edx
push str.out_dx___s
push eax
call ebx
mov edx, dword [esp + 0x294]
add esp, 0xc
lea ecx, [esp + 0x84]
push ecx
push edx
call ebp
push 0x100e9840
mov eax, dword [esp + 0x28c]
add eax, 0x200
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
push str.I_O_Instruction
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x28c]
add eax, 0x100
push eax
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
push str.int1
push ecx
call ebp
mov edx, dword [esp + 0x288]
push 0x100e9834
add edx, 0x200
push edx
call ebp
mov eax, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
push str._icebp_
mov byte [eax + 0x241], cl
mov edx, dword [esp + 0x28c]
add edx, 0x100
push edx
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov eax, dword [esp + 0x288]
push 0x100e9828
push eax
call ebp
mov ecx, dword [esp + 0x288]
push 0x100e9824
add ecx, 0x200
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
push str.Halts_CPU_until_RESET
mov byte [edx + 0x241], al
jmp 0x1002027d
mov edx, dword [esp + 0x288]
push 0x100e9808
push edx
call ebp
mov eax, dword [esp + 0x288]
push 0x100e9824
add eax, 0x200
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
push str.inverts_the_Carry_Flag
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x28c]
add eax, 0x100
push eax
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
push 0x100e97ec
push ecx
call ebp
mov edx, dword [esp + 0x288]
push 0x100e97e8
add edx, 0x200
push edx
call ebp
mov eax, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
push str.Clears_the_Carry_Flag
mov byte [eax + 0x241], cl
mov edx, dword [esp + 0x28c]
add edx, 0x100
push edx
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov eax, dword [esp + 0x288]
push 0x100e97cc
push eax
call ebp
mov ecx, dword [esp + 0x288]
push 0x100e97c8
add ecx, 0x200
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
push str.Sets_the_Carry_Flag_to_1
mov byte [edx + 0x241], al
jmp 0x1002027d
mov edx, dword [esp + 0x288]
push 0x100e97a8
push edx
call ebp
mov eax, dword [esp + 0x288]
push 0x100e97a4
add eax, 0x200
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
push str.Set_Interrupt_flag_to_0
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x28c]
add eax, 0x100
push eax
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
push 0x100e9788
push ecx
call ebp
mov edx, dword [esp + 0x288]
push 0x100e9784
add edx, 0x200
push edx
call ebp
mov eax, dword [esp + 0x288]
mov cl, byte [esp + 0x10]
push str.Set_Interrupt_flag_to_1
mov byte [eax + 0x241], cl
mov edx, dword [esp + 0x28c]
add edx, 0x100
push edx
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov eax, dword [esp + 0x288]
push 0x100e9768
push eax
call ebp
mov ecx, dword [esp + 0x288]
push 0x100e9764
add ecx, 0x200
push ecx
call ebp
mov edx, dword [esp + 0x288]
mov al, byte [esp + 0x10]
push str.Set_Direction_Flag_to_0
mov byte [edx + 0x241], al
jmp 0x1002027d
mov edx, dword [esp + 0x288]
push 0x100e9748
push edx
call ebp
mov eax, dword [esp + 0x288]
push 0x100e9744
add eax, 0x200
push eax
call ebp
mov ecx, dword [esp + 0x288]
mov dl, byte [esp + 0x10]
push str.Set_Direction_Flag_to_1
mov byte [ecx + 0x241], dl
mov eax, dword [esp + 0x28c]
add eax, 0x100
push eax
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret
mov ecx, dword [esp + 0x288]
mov edi, 0x100e9f24
xor eax, eax
lea edx, [ecx + 0x200]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x288]
mov edi, str.Prefix_DataSize:
lea edx, [ecx + 0x100]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x288]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x240], 1
mov edx, dword [esp + 0x27c]
mov ecx, dword [esp + 0x48]
pop ebx
mov byte [edx + 0x241], 0
mov eax, dword [esp + 0x280]
sub dword [eax], ecx
add esp, 0x274
ret
mov edx, dword [esp + 0x288]
mov edi, 0x100e9f20
or ecx, 0xffffffff
xor eax, eax
add edx, 0x200
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x288]
mov edi, str.Prefix_AddrSize:
lea edx, [ecx + 0x100]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x288]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x240], 1
mov edx, dword [esp + 0x27c]
mov ecx, dword [esp + 0x74]
pop ebx
mov byte [edx + 0x241], 0
mov eax, dword [esp + 0x280]
sub dword [eax], ecx
add esp, 0x274
ret
or ecx, 0xffffffff
mov edi, 0x10140890
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x288]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x288]
mov edi, 0x100e9f1c
or ecx, 0xffffffff
lea edx, [eax + 0x200]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x288]
mov edi, str.Prefix_LOCK:
lea edx, [ecx + 0x100]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x288]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x240], 1
mov edx, dword [esp + 0x27c]
mov ecx, dword [esp + 4]
pop ebx
mov byte [edx + 0x241], 0
mov eax, dword [esp + 0x280]
sub dword [eax], ecx
add esp, 0x274
ret
mov edi, 0x10140890
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x288]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x288]
mov edi, str.Prefix_REP:
or ecx, 0xffffffff
lea edx, [eax + 0x100]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x288]
pop edi
pop esi
pop ebp
mov byte [ecx + 0x240], 1
mov edx, dword [esp + 0x27c]
mov ecx, dword [esp + 0x3c]
pop ebx
mov byte [edx + 0x241], 0
mov eax, dword [esp + 0x280]
sub dword [eax], ecx
add esp, 0x274
ret
cmp al, 0x2e
je 0x100208a3
cmp al, 0x36
je 0x100208a3
cmp al, 0x3e
je 0x100208a3
cmp al, 0x26
je 0x100208a3
cmp al, 0x64
je 0x100208a3
cmp al, 0x65
je 0x100208a3
cmp al, 0x66
je 0x100208b9
cmp al, 0xf0
je 0x100208a3
cmp al, 0x67
jne case.default.0x1001e025
cmp al, 0x66
je 0x100208b9
cmp al, 0xf0
je 0x100208b9
cmp al, 0x67
je 0x100208b9
mov dl, byte [esi + edx - 2]
mov byte [esp + 0x48], dl
jmp 0x100208ca
mov al, byte [esi + edx - 3]
mov byte [esp + 0x48], al
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x48]
and edx, 0xff
lea esi, [edx - 0x26]
cmp esi, 0x3f
ja case.0x100208e4.44
xor ecx, ecx
mov cl, byte [esi + 0x10020e2c]
jmp dword [ecx*4 + 0x10020e10]
mov dword [esp + 0x18], 1
jmp case.0x100208e4.44
mov dword [esp + 0x18], 2
jmp case.0x100208e4.44
mov dword [esp + 0x18], 3
jmp case.0x100208e4.44
mov dword [esp + 0x18], 0
jmp case.0x100208e4.44
mov dword [esp + 0x18], 4
jmp case.0x100208e4.44
mov dword [esp + 0x18], 5
mov edi, 0x10140890
or ecx, 0xffffffff
xor eax, eax
push edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str._02X:
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x290]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x8c]
push ecx
call ebx
mov edx, dword [esp + 0x294]
lea edi, [esp + 0x90]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
add edx, 0x200
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x84]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx*4 + 0x100e961c]
push edx
push str.Prefix__s:
push eax
call ebx
mov ecx, dword [esp + 0x294]
lea edi, [esp + 0x90]
xor eax, eax
add esp, 0xc
lea edx, [ecx + 0x100]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x288]
mov byte [ecx + 0x240], 0
mov edx, dword [esp + 0x288]
mov ecx, dword [esp + 0x30]
mov byte [edx + 0x241], 1
mov eax, dword [esp + 0x290]
sub dword [eax], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x274
ret