Function at 0x438a2f
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x208
and dword [ebp + 0x64], 0
or dword [ebp + 0x5c], 0xffffffff
and dword [ebp + 0x58], 0
push ebx
push esi
push edi
cmp dword [ebp + 0x64], 0
mov esi, dword [ebp + 0x7c]
jg 0x438a6e
cmp dword [ebp + 0x5c], 0xffffffff
jne 0x438afa
lea eax, [esi + 0x60]
push eax
call fcn.0040bc07
test eax, eax
pop ecx
jle 0x43b4ac
cmp dword [ebp + 0x5c], 0xffffffff
jne 0x438afa
cmp dword [ebp + 0x64], 0
jne 0x438ac6
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x44]
push eax
lea edi, [esi + 0x60]
push edi
call fcn.0040bc0f
mov eax, 0x100
add esp, 0xc
cmp dword [ebp + 0x64], eax
jbe 0x438a9f
mov dword [ebp + 0x64], eax
push dword [ebp + 0x64]
lea eax, [ebp - 0x194]
push dword [ebp + 0x44]
push eax
call fcn.004526b0
push dword [ebp + 0x64]
push edi
call fcn.0040c299
lea eax, [ebp - 0x194]
add esp, 0x14
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 0x58]
movzx ecx, byte [eax]
inc dword [ebp + 0x58]
dec dword [ebp + 0x64]
push 2
pop ebx
cmp dword [esi + 0x1128], ebx
mov dword [ebp + 0x70], ecx
jne 0x438b07
mov eax, dword [esi + 0x108c]
test eax, eax
je 0x438b07
push ebx
push ecx
push eax
call fcn.004098c0
mov ecx, dword [ebp + 0x70]
add esp, 0xc
jmp 0x438b07
mov ecx, dword [ebp + 0x5c]
or dword [ebp + 0x5c], 0xffffffff
push 2
mov dword [ebp + 0x70], ecx
pop ebx
cmp dword [esi + 0xec], 0
je 0x438bbb
xor edi, edi
inc edi
push edi
lea eax, [ebp + 0x70]
push eax
lea eax, [esi + 0xf8]
push eax
call fcn.0040c200
add esp, 0xc
cmp dword [esi + 0xf0], 0
je 0x438bb8
mov eax, dword [ebp + 0x70]
cmp eax, 0x1b
jne 0x438b48
mov dword [esi + 0xf4], edi
jmp 0x438b6b
cmp eax, 0x9b
jne 0x438b57
mov dword [esi + 0xf4], ebx
jmp 0x438b6b
cmp eax, 0x5b
jne 0x438b85
cmp dword [esi + 0xf4], edi
je 0x438b4f
and dword [esi + 0xf4], 0
cmp dword [esi + 0xf4], 4
jne 0x438a49
mov eax, dword [ebp + 0x7c]
call fcn.00435286
jmp 0x438a49
cmp eax, 0x34
jne 0x438b9e
cmp dword [esi + 0xf4], ebx
jne 0x438b64
mov dword [esi + 0xf4], 3
jmp 0x438b6b
cmp eax, 0x69
jne 0x438b64
cmp dword [esi + 0xf4], 3
jne 0x438b64
mov dword [esi + 0xf4], 4
jmp 0x438b6b
mov ecx, dword [ebp + 0x70]
mov eax, dword [esi + 0xe44]
test eax, eax
mov dword [ebp + 0x60], eax
jne 0x438cbc
cmp dword [esi + 0xdc], eax
jne 0x438c8d
mov edx, dword [esi + 0x1090]
cmp dword [edx + 0xc], 0xfde9
je 0x438c8d
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x438c1e
cmp ecx, 0x1b
je 0x438c1e
cmp ecx, 0xa
je 0x438c1e
cmp ecx, 0xd
je 0x438c1e
cmp ecx, 8
je 0x438c1e
cmp eax, ebx
jne 0x438c13
or ecx, 0x80
or ecx, 0xda00
jmp 0x438cb9
mov eax, dword [esi + 0x94]
mov eax, dword [esi + eax*4 + 0x170]
mov ebx, 0xd800
cmp eax, ebx
je 0x438c77
mov edi, 0xd900
cmp eax, edi
je 0x438c61
cmp eax, 0xda00
je 0x438c57
cmp eax, 0xdb00
jne 0x438cbc
cmp ecx, 0x23
jne 0x438c77
mov ecx, 0xd97d
jmp 0x438cb9
cmp ecx, 0x20
jb 0x438cbc
movzx ecx, cl
jmp 0x438c13
mov al, byte [edx + ecx + 0xa10]
cmp al, 0xff
jne 0x438ea2
movzx ecx, cl
or ecx, edi
jmp 0x438cb9
mov al, byte [edx + ecx + 0xa10]
cmp al, 0xff
jne 0x438ea2
movzx ecx, cl
or ecx, ebx
jmp 0x438cb9
mov edi, dword [esi + 0xe0]
test edi, edi
je 0x438e89
jle 0x438cbc
cmp edi, 5
jg 0x438cbc
mov eax, ecx
and al, 0xc0
cmp al, 0x80
je 0x438cc3
and dword [esi + 0xe0], 0
mov dword [ebp + 0x5c], ecx
mov ecx, 0xd961
mov dword [ebp + 0x70], ecx
xor ebx, ebx
jmp 0x438dcf
lea edx, [esi + 0xe4]
mov eax, dword [edx]
and ecx, 0x3f
shl eax, 6
or eax, ecx
lea ecx, [edi - 1]
xor ebx, ebx
cmp ecx, ebx
mov dword [edx], eax
mov dword [esi + 0xe0], ecx
jne 0x438a49
mov ecx, eax
cmp ecx, 0x80
mov dword [ebp + 0x70], ecx
jb 0x438d3c
cmp ecx, 0x800
mov eax, dword [ebp + 0x7c]
jae 0x438d09
cmp dword [eax + 0xe8], 2
jge 0x438d3c
cmp ecx, 0x10000
jae 0x438d1a
cmp dword [eax + 0xe8], 3
jge 0x438d3c
cmp ecx, 0x200000
jae 0x438d2b
cmp dword [eax + 0xe8], 4
jge 0x438d3c
cmp ecx, 0x4000000
jae 0x438d44
cmp dword [eax + 0xe8], 5
jl 0x438d44
mov ecx, 0xd961
mov dword [ebp + 0x70], ecx
cmp ecx, 0x2028
je 0x438d54
cmp ecx, 0x2029
jne 0x438d5c
mov ecx, 0x85
mov dword [ebp + 0x70], ecx
cmp ecx, 0xa0
jae 0x438d6c
mov ecx, 0xfffd
mov dword [ebp + 0x70], ecx
cmp ecx, 0xd800
jb 0x438d84
cmp ecx, 0xe000
jae 0x438d84
mov ecx, 0xd961
mov dword [ebp + 0x70], ecx
cmp ecx, 0x10ffff
jbe 0x438d94
mov ecx, 0xd961
mov dword [ebp + 0x70], ecx
cmp ecx, 0xe0000
jb 0x438da8
cmp ecx, 0xe007f
jbe 0x438a49
cmp ecx, 0xfeff
je 0x438a49
cmp ecx, 0xfffe
je 0x438dc4
cmp ecx, 0xffff
jne 0x438dcc
mov ecx, 0xd961
mov dword [ebp + 0x70], ecx
mov esi, dword [ebp + 0x7c]
mov eax, ecx
and eax, 0xffffffe0
cmp eax, 0x80
jne 0x438f4b
cmp dword [ebp + 0x60], 5
jge 0x438f4b
cmp dword [esi + 0x148], ebx
jne 0x438f4b
test byte [esi], 0x10
je 0x438f4b
cmp ecx, 0x9a
jne 0x438f32
xor ecx, ecx
mov dword [ebp + 0x70], ecx
mov edi, 0x4000
test ecx, 0xffffffe0
jne 0x439302
cmp dword [esi + 0xe44], 5
jge 0x439302
cmp ecx, 0xb
ja 0x4391a2
je 0x4392a6
sub ecx, 5
je 0x43916d
dec ecx
dec ecx
je 0x439092
dec ecx
je 0x439052
dec ecx
je 0x438fd6
dec ecx
jne case.0x43a0eb.98
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x80]
cmp eax, ecx
jne 0x4392ba
push 1
push ecx
push dword [esi + 0x7c]
xor ecx, ecx
inc ecx
call fcn.00434d84
add esp, 0xc
jmp 0x4392c9
cmp ecx, 0x80
jae 0x438eb8
mov eax, dword [esi + 0x1090]
mov al, byte [eax + ecx + 0xa10]
cmp al, 0xff
je 0x438eaa
movzx ecx, al
jmp 0x438cb9
movzx ecx, cl
or ecx, 0xd800
jmp 0x438cb9
mov eax, ecx
and ax, 0xe0
cmp al, 0xc0
jne 0x438eca
xor eax, eax
inc eax
and ecx, 0x1f
jmp 0x438f06
mov eax, ecx
and ax, 0xf0
cmp al, 0xe0
jne 0x438ee5
mov dword [esi + 0xe0], ebx
mov dword [esi + 0xe8], ebx
and ecx, 0xf
jmp 0x438f12
mov eax, ecx
and ax, 0xf8
cmp al, 0xf0
jne 0x438ef6
push 3
and ecx, 7
jmp 0x438f05
mov eax, ecx
and ax, 0xfc
cmp al, 0xf8
jne 0x438f1d
push 4
and ecx, 3
pop eax
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe8], eax
mov dword [esi + 0xe4], ecx
jmp 0x438a49
mov eax, ecx
and ax, 0xfe
cmp al, 0xfc
jne 0x438cb4
push 5
and ecx, 1
jmp 0x438f05
and ecx, 0x1f
add ecx, 0x40
mov dword [esi + 0xe44], 1
mov dword [esi + 0x230], ebx
mov dword [ebp + 0x70], ecx
cmp ecx, 0x7f
jne 0x438e0f
cmp dword [esi + 0xe44], 5
jge 0x438e0f
mov edi, 0x4000
test dword [esi], edi
je 0x438e14
mov eax, dword [esi + 0x70]
cmp eax, ebx
je 0x438f81
cmp dword [esi + 0x8c], ebx
jne 0x438f81
dec eax
mov dword [esi + 0x70], eax
cmp dword [esi + 0x1140], ebx
mov dword [esi + 0x8c], ebx
jne case.0x43a0eb.98
push dword [esi + 0x6c]
mov ebx, dword [esi + 0x70]
mov eax, esi
call fcn.0043510c
mov ebx, dword [esi + 0x70]
push dword [esi + 0x6c]
inc ebx
mov eax, esi
call fcn.0043510c
pop ecx
pop ecx
push dword [esi + 0x70]
lea edi, [esi + 0x54]
push 1
push 0xb8d
push dword [esi + 0x6c]
push esi
call fcn.0043479c
add esp, 0x10
push eax
mov eax, edi
call fcn.00433cdf
jmp 0x43acdd
mov ebx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
push 1
push 0xc29
push ebx
push esi
mov dword [ebp + 0x40], eax
call fcn.0043479c
mov ecx, dword [esi + 0x12c]
add esp, 0x10
mov dword [ebp + 0x60], eax
lea edx, [ecx - 1]
inc dword [esi + 0x70]
mov edi, dword [esi + 0x70]
cmp edi, edx
jge 0x439012
mov eax, dword [esi + 0xe40]
cmp byte [edi + eax], 0
je 0x438ffc
mov eax, dword [ebp + 0x60]
test byte [eax], 3
je 0x43902b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp edi, eax
jl 0x439032
dec eax
mov dword [esi + 0x70], eax
jmp 0x439032
cmp edi, ecx
jl 0x439032
mov dword [esi + 0x70], edx
push dword [esi + 0x70]
mov eax, esi
push dword [esi + 0x6c]
push dword [ebp + 0x40]
push ebx
call fcn.00436dd2
add esp, 0x10
mov eax, esi
call fcn.004371d0
jmp case.0x43a0eb.98
mov ecx, dword [esi + 0x70]
cmp ecx, ebx
jne 0x43907e
cmp dword [esi + 0x6c], ebx
je 0x439046
cmp dword [esi + 0x88], ebx
je 0x439046
cmp ecx, ebx
jne 0x43907e
mov eax, dword [esi + 0x6c]
cmp eax, ebx
jle 0x43907e
mov ecx, dword [esi + 0x12c]
dec ecx
dec eax
mov dword [esi + 0x6c], eax
jmp 0x43908d
lea eax, [esi + 0x8c]
cmp dword [eax], ebx
je 0x43908c
mov dword [eax], ebx
jmp 0x439046
dec ecx
mov dword [esi + 0x70], ecx
jmp 0x439046
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [esi + 0x34], ebx
mov edi, eax
jne 0x4390c4
push 8
push 1
call fcn.0040bca9
pop ecx
mov dword [eax + 4], edi
mov dword [eax], ebx
cmp dword [esi + 0x28], ebx
pop ecx
jne 0x4390b9
mov dword [esi + 0x28], eax
jmp 0x4390be
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
inc dword [esi + 0x30]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x28]
cmp eax, ebx
je 0x4390f6
mov ecx, edi
sub ecx, dword [esi + 0x10f4]
cmp dword [eax + 4], ecx
jae 0x4390f6
mov ecx, dword [eax]
push eax
mov dword [esi + 0x28], ecx
call fcn.0040bd73
mov eax, dword [esi + 0x28]
cmp eax, ebx
pop ecx
jne 0x4390ee
mov dword [esi + 0x2c], ebx
dec dword [esi + 0x30]
cmp dword [esi + 0x28], ebx
jne 0x4390cb
mov eax, dword [esi + 0x10e8]
cmp eax, ebx
je 0x439132
cmp dword [esi + 0x34], ebx
je 0x439117
mov ecx, edi
sub ecx, dword [esi + 0x38]
cmp ecx, dword [esi + 0x10f0]
jb 0x439117
mov dword [esi + 0x34], ebx
jmp 0x439132
cmp eax, ebx
je 0x439132
cmp dword [esi + 0x34], ebx
jne 0x439132
mov ecx, dword [esi + 0x30]
cmp ecx, dword [esi + 0x10ec]
jl 0x439132
mov dword [esi + 0x34], 1
cmp eax, ebx
mov dword [esi + 0x38], edi
je 0x439142
cmp dword [esi + 0x34], ebx
jne 0x439046
lea edi, [esi + 0x10e4]
push dword [edi]
push dword [esi + 0x1088]
call fcn.00444c48
cmp dword [edi], 2
pop ecx
pop ecx
jne 0x439046
push ebx
push ebx
call fcn.0043723c
pop ecx
jmp 0x439d2e
test byte [esi], 1
je 0x4392af
mov eax, dword [esi + 0x1084]
cmp eax, ebx
je case.0x43a0eb.98
push 0
push dword [esi + 0x10dc]
push dword [esi + 0x10d8]
push 0
push eax
call fcn.0040932d
add esp, 0x14
jmp case.0x43a0eb.98
sub ecx, 0xc
je 0x439274
dec ecx
je 0x439227
dec ecx
je 0x43920f
dec ecx
je 0x4391fb
sub ecx, 0xc
jne case.0x43a0eb.98
xor eax, eax
cmp dword [esi + 0x148], eax
je 0x4391d6
mov dword [esi + 0xe44], 9
jmp case.0x43a0eb.98
test byte [esi], 1
jne 0x4391e6
mov dword [esi + 0xe44], eax
jmp case.0x43a0eb.98
mov dword [esi + 0xe44], 1
mov dword [esi + 0x230], eax
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
mov dword [esi + 0x94], ebx
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
mov dword [esi + 0x94], 1
jmp case.0x43a0eb.98
mov eax, esi
mov dword [esi + 0x70], ebx
mov dword [esi + 0x8c], ebx
call fcn.004371d0
cmp dword [esi + 0x1114], ebx
je 0x4392e1
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x80]
cmp eax, ecx
jne 0x439263
push 1
push ecx
push dword [esi + 0x7c]
xor ecx, ecx
inc ecx
call fcn.00434d84
add esp, 0xc
jmp 0x4392e1
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x4392e1
inc eax
mov dword [esi + 0x6c], eax
jmp 0x4392e1
test byte [esi + 1], 0x10
je 0x4392a6
push ebx
xor edx, edx
xor ecx, ecx
mov eax, esi
call fcn.00434fbc
push 1
push ebx
push ebx
call fcn.0043762d
add esp, 0x10
cmp dword [esi + 0x1164], ebx
je 0x439772
mov dword [esi + 0x10], ebx
jmp 0x439772
test byte [esi], 2
jne 0x438e62
mov dword [esi + 0xe44], ebx
jmp case.0x43a0eb.98
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x4392c9
inc eax
mov dword [esi + 0x6c], eax
cmp dword [esi + 0x1120], ebx
je 0x4392d4
mov dword [esi + 0x70], ebx
mov eax, esi
mov dword [esi + 0x8c], ebx
call fcn.004371d0
mov eax, dword [esi + 0x108c]
cmp eax, ebx
je case.0x43a0eb.98
push 1
push dword [ebp + 0x70]
push eax
call fcn.004098c0
add esp, 0xc
jmp case.0x43a0eb.98
mov eax, dword [esi + 0xe44]
cmp eax, 0xd
ja case.0x43a0eb.98
jmp dword [eax*4 + 0x43b4d0]
push 1
push 0xc43
push dword [esi + 0x6c]
push esi
call fcn.0043479c
mov edi, eax
mov eax, dword [ebp + 0x70]
and eax, 0xfffffc00
add esp, 0x10
xor ebx, ebx
cmp eax, 0xd800
jne 0x439347
mov dword [ebp + 0x6c], 1
jmp 0x439362
cmp dword [esi + 0x1108], ebx
push dword [ebp + 0x70]
je 0x439359
call fcn.0043ce38
jmp 0x43935e
call fcn.0043cd25
pop ecx
mov dword [ebp + 0x6c], eax
cmp dword [esi + 0x8c], ebx
je 0x4393c7
cmp dword [esi + 0x88], ebx
je 0x4393c7
cmp dword [ebp + 0x6c], ebx
jle 0x4393c7
or byte [edi], 0x10
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x80]
cmp eax, ecx
jne 0x43939a
push 1
push ecx
push dword [esi + 0x7c]
xor ecx, ecx
inc ecx
call fcn.00434d84
add esp, 0xc
jmp 0x4393a9
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x4393a9
inc eax
mov dword [esi + 0x6c], eax
push 1
push 0xc54
push dword [esi + 0x6c]
mov dword [esi + 0x70], ebx
push esi
mov dword [esi + 0x8c], ebx
call fcn.0043479c
add esp, 0x10
mov edi, eax
cmp dword [esi + 0x90], ebx
je 0x4393dd
cmp dword [ebp + 0x6c], ebx
jle 0x4393dd
push dword [ebp + 0x6c]
call fcn.00436e0d
pop ecx
cmp dword [esi + 0xe48], ebx
je 0x43940b
mov eax, dword [esi + 0x70]
cmp eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x6c]
jne 0x4393f8
xor eax, eax
inc ecx
jmp 0x4393f9
inc eax
push eax
push ecx
push dword [esi + 0x70]
mov eax, esi
push dword [esi + 0x6c]
call fcn.00436dd2
add esp, 0x10
mov eax, dword [ebp + 0x70]
and eax, 0xffffff00
cmp eax, 0xd800
je 0x43941e
cmp eax, ebx
jne 0x439436
mov eax, dword [esi + 0x108c]
cmp eax, ebx
je 0x439436
push 1
push dword [ebp + 0x70]
push eax
call fcn.004098c0
add esp, 0xc
mov eax, dword [ebp + 0x6c]
sub eax, ebx
je 0x439605
dec eax
je 0x439545
dec eax
jne 0x438a49
mov esi, dword [ebp + 0x7c]
push dword [esi + 0x6c]
mov ebx, dword [esi + 0x70]
mov eax, esi
call fcn.0043510c
mov ebx, dword [esi + 0x70]
push dword [esi + 0x6c]
inc ebx
inc ebx
mov eax, esi
call fcn.0043510c
mov eax, dword [esi + 0x12c]
pop ecx
pop ecx
mov ecx, dword [esi + 0x70]
dec eax
cmp ecx, eax
jne 0x4394f1
push ecx
lea eax, [esi + 0x54]
push edi
call fcn.00433cdf
or byte [edi], 0x30
mov eax, dword [esi + 0x6c]
pop ecx
pop ecx
mov ecx, dword [esi + 0x80]
cmp eax, ecx
jne 0x4394ad
push 1
push ecx
push dword [esi + 0x7c]
xor ecx, ecx
inc ecx
call fcn.00434d84
add esp, 0xc
jmp 0x4394bc
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x4394bc
inc eax
mov dword [esi + 0x6c], eax
and dword [esi + 0x70], 0
push 1
push 0xc84
push dword [esi + 0x6c]
push esi
call fcn.0043479c
push dword [esi + 0x6c]
mov ebx, dword [esi + 0x70]
mov edi, eax
mov eax, esi
call fcn.0043510c
mov ebx, dword [esi + 0x70]
push dword [esi + 0x6c]
inc ebx
inc ebx
mov eax, esi
call fcn.0043510c
add esp, 0x18
mov eax, dword [esi + 0x70]
call fcn.00433c11
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 0x14]
mov edx, dword [ebp + 0x70]
lea eax, [eax + eax*2]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 0x14]
mov edx, dword [esi + 0x40]
lea eax, [eax + eax*2]
mov dword [ecx + eax*4 + 4], edx
inc dword [esi + 0x70]
mov eax, dword [esi + 0x70]
call fcn.00433c11
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 0x14]
lea eax, [eax + eax*2]
mov dword [ecx + eax*4], 0xdfff
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 0x14]
mov edx, dword [esi + 0x40]
lea eax, [eax + eax*2]
mov dword [ecx + eax*4 + 4], edx
jmp 0x43958f
push dword [esi + 0x6c]
mov ebx, dword [esi + 0x70]
mov eax, esi
call fcn.0043510c
mov ebx, dword [esi + 0x70]
push dword [esi + 0x6c]
inc ebx
mov eax, esi
call fcn.0043510c
mov eax, dword [esi + 0x70]
pop ecx
pop ecx
call fcn.00433c11
mov eax, dword [ebp + 0x7c]
mov ecx, dword [eax + 0x70]
mov edx, dword [edi + 0x14]
mov esi, dword [ebp + 0x70]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4], esi
mov ecx, dword [eax + 0x70]
mov edx, dword [edi + 0x14]
mov eax, dword [eax + 0x40]
mov esi, dword [ebp + 0x7c]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4 + 4], eax
inc dword [esi + 0x70]
mov eax, dword [esi + 0x70]
cmp eax, dword [esi + 0x12c]
jne 0x4395f6
xor ecx, ecx
dec eax
inc ecx
xor ebx, ebx
cmp dword [esi + 0x88], ebx
mov dword [esi + 0x70], eax
mov dword [esi + 0x8c], ecx
je 0x4395f6
cmp dword [esi + 0x148], ebx
je 0x4395f6
or byte [edi], 0x10
mov eax, dword [esi + 0x6c]
mov edx, dword [esi + 0x80]
cmp eax, edx
jne 0x4395de
push ecx
push edx
push dword [esi + 0x7c]
call fcn.00434d84
mov esi, dword [ebp + 0x7c]
add esp, 0xc
jmp 0x4395ed
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x4395ed
inc eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], ebx
mov dword [esi + 0x8c], ebx
mov eax, esi
call fcn.004371d0
mov esi, dword [ebp + 0x7c]
jmp case.0x43a0eb.98
mov esi, dword [esi + 0x70]
cmp esi, ebx
jle 0x438a49
mov ebx, dword [ebp + 0x7c]
dec esi
cmp dword [ebx + 0x8c], 0
je 0x43961e
inc esi
mov ecx, dword [edi + 0x14]
lea eax, [esi + esi*2]
cmp dword [ecx + eax*4], 0xdfff
jne 0x439649
test esi, esi
jg 0x439648
push 0xcaf
push str..._terminal.c
push str.x___0
call fcn.004522d8
add esp, 0xc
dec esi
push dword [ebp + 0x70]
mov eax, esi
mov esi, edi
call fcn.00433b33
pop ecx
mov eax, ebx
call fcn.004371d0
jmp 0x438a49
cmp ecx, 0x5c
jne case.0x439311.1
call fcn.00435181
and dword [esi + 0xe44], 0
jmp case.0x43a0eb.98
cmp ecx, 0x20
jb 0x43969c
cmp ecx, 0x2f
ja 0x43969c
lea eax, [esi + 0x230]
cmp dword [eax], 0
je 0x439695
or dword [eax], 0xffffffff
jmp case.0x43a0eb.98
mov dword [eax], ecx
jmp case.0x43a0eb.98
mov eax, dword [esi + 0x230]
shl eax, 8
xor ebx, ebx
add ecx, eax
cmp ecx, 0x2336
mov dword [esi + 0xe44], ebx
ja 0x43996e
mov eax, 0x2333
cmp ecx, eax
jae 0x43992b
cmp ecx, 0x48
ja 0x4397f1
je 0x4397d6
sub ecx, 0x37
je 0x4397bf
dec ecx
je 0x4397a9
sub ecx, 5
je 0x439791
dec ecx
je 0x43977d
sub ecx, 6
je 0x43973f
dec ecx
jne case.0x43a0eb.98
test byte [esi], 2
je 0x43966c
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x80]
and dword [esi + 0x70], ebx
cmp eax, ecx
jne 0x439727
push 1
push ecx
xor ecx, ecx
inc ecx
jmp 0x43a060
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x43a06b
inc eax
mov dword [esi + 0x6c], eax
jmp 0x43a06b
test byte [esi], 2
je 0x4392af
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x80]
cmp eax, ecx
jne 0x439763
push 1
push ecx
push dword [esi + 0x7c]
xor ecx, ecx
inc ecx
jmp 0x439910
mov ecx, dword [esi + 0x128]
dec ecx
cmp eax, ecx
jge 0x439772
inc eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x8c], ebx
jmp 0x439046
test byte [esi], 2
je 0x4392af
mov dword [esi + 0x144], ebx
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
mov dword [esi + 0x144], 1
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
push ebx
mov eax, esi
call fcn.0043502b
jmp 0x439d2e
test byte [esi], 2
je 0x4392af
push 1
mov eax, esi
call fcn.0043502b
jmp 0x43b425
test byte [esi], 2
je 0x4392af
mov eax, dword [esi + 0xe40]
mov ecx, dword [esi + 0x70]
mov byte [eax + ecx], 1
jmp case.0x43a0eb.98
sub ecx, 0x4d
je 0x4398f1
sub ecx, 0xd
je 0x4398c2
dec ecx
je 0x43989d
dec ecx
dec ecx
je 0x439880
sub ecx, 6
jne case.0x43a0eb.98
test byte [esi], 2
je 0x43966c
push 1
push esi
call fcn.00437da0
mov eax, dword [esi + 0x1084]
xor ebx, ebx
cmp eax, ebx
pop ecx
pop ecx
je 0x439842
push ebx
push ebx
push ebx
push eax
call fcn.00408aa1
add esp, 0x10
lea edi, [esi + 0xb4]
cmp dword [edi], ebx
je 0x43986c
cmp dword [esi + 0x114c], ebx
jne 0x43986a
push dword [esi + 0x128]
push 0x50
push dword [esi + 0x1088]
call fcn.00445e10
add esp, 0xc
mov dword [edi], ebx
cmp dword [esi + 0x1164], ebx
je 0x439046
mov dword [esi + 0x10], ebx
jmp 0x439046
test dword [esi], edi
je 0x4392af
mov dword [esi + 0xe44], 3
mov dword [esi + 0x1ac], ebx
jmp case.0x43a0eb.98
mov dword [esi + 0xe44], 2
mov dword [esi + 0x22c], 1
mov dword [esi + 0x1ac], ebx
mov dword [esi + 0x230], ebx
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
lea edi, [esi + 0x1084]
cmp dword [edi], ebx
je case.0x43a0eb.98
lea ebx, [esi + 0xa40]
push 0
push ebx
call fcn.00451fa0
pop ecx
push eax
push ebx
push dword [edi]
jmp 0x43b33b
test byte [esi], 2
je 0x4392af
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jne 0x43991d
push 1
push dword [esi + 0x80]
push ecx
or ecx, 0xffffffff
call fcn.00434d84
add esp, 0xc
jmp 0x439772
cmp eax, ebx
jle 0x439772
dec eax
jmp 0x43976f
test byte [esi], 2
je 0x4392af
sub ecx, eax
je 0x439947
dec ecx
je 0x439943
xor ebx, ebx
dec ecx
je 0x43994a
inc ebx
jmp 0x43994a
push 3
jmp 0x439949
push 2
pop ebx
push 1
push 0xd66
push dword [esi + 0x6c]
push esi
call fcn.0043479c
add esp, 0x10
mov ecx, esi
mov edi, eax
call fcn.004348c6
mov word [edi], bx
jmp case.0x43a0eb.98
mov eax, 0x2842
cmp ecx, eax
ja 0x439b0a
je 0x439ae6
sub ecx, 0x2338
je 0x439a40
sub ecx, 0x200
je 0x439a1d
sub ecx, 8
je 0x4399fd
sub ecx, 7
je 0x439a1d
sub ecx, 0x2e9
je 0x4399d9
sub ecx, 0x11
jne case.0x43a0eb.98
test byte [esi], 2
je 0x43966c
cmp dword [esi + 0x1148], 0
jne case.0x43a0eb.98
mov dword [esi + 0x170], 0xdb00
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
cmp dword [esi + 0x1148], ebx
jne case.0x43a0eb.98
mov dword [esi + 0x170], 0xd900
jmp case.0x43a0eb.98
test dword [esi], edi
je 0x4392af
cmp dword [esi + 0x1148], ebx
jne case.0x43a0eb.98
and dword [esi + 0xdc], 0
jmp case.0x43a0eb.98
test dword [esi], edi
je 0x4392af
cmp dword [esi + 0x1148], ebx
jne case.0x43a0eb.98
mov dword [esi + 0xdc], 1
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
cmp dword [esi + 0x128], ebx
mov dword [ebp + 0x6c], ebx
jle 0x439ab5
push 1
push 0xd3c
push dword [ebp + 0x6c]
push esi
call fcn.0043479c
add esp, 0x10
mov ecx, esi
mov edi, eax
call fcn.004348c6
xor ebx, ebx
cmp dword [esi + 0x12c], ebx
jle 0x439aa3
and dword [ebp + 0x68], ebx
push ebx
push edi
lea eax, [esi + 0x48]
call fcn.00433cdf
mov eax, dword [edi + 0x14]
pop ecx
pop ecx
mov ecx, dword [ebp + 0x68]
add dword [ebp + 0x68], 0xc
inc ebx
mov dword [ecx + eax], 0x45
cmp ebx, dword [esi + 0x12c]
jl 0x439a7d
and word [edi], 0
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
cmp eax, dword [esi + 0x128]
jl 0x439a54
xor edi, edi
cmp dword [esi + 0x1164], edi
je 0x439ac2
mov dword [esi + 0x10], edi
mov eax, esi
call fcn.004371d0
mov eax, dword [esi + 0x128]
push edi
xor ecx, ecx
push eax
xor edx, edx
push edx
push ecx
mov eax, esi
call fcn.00436dd2
add esp, 0x10
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
cmp dword [esi + 0x1148], ebx
jne case.0x43a0eb.98
mov dword [esi + 0x170], 0xd800
jmp case.0x43a0eb.98
sub ecx, 0x2855
je 0x439bbf
sub ecx, 0xdb
je 0x439b9b
sub ecx, 0x11
je 0x439b77
dec ecx
je 0x439b53
sub ecx, 0x13
jne case.0x43a0eb.98
test dword [esi], edi
je 0x43966c
cmp dword [esi + 0x1148], 0
jne case.0x43a0eb.98
mov dword [esi + 0x174], 0xda00
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
cmp dword [esi + 0x1148], ebx
jne case.0x43a0eb.98
mov dword [esi + 0x174], 0xd800
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
cmp dword [esi + 0x1148], ebx
jne case.0x43a0eb.98
mov dword [esi + 0x174], 0xdb00
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x4392af
cmp dword [esi + 0x1148], ebx
jne case.0x43a0eb.98
mov dword [esi + 0x174], 0xd900
jmp case.0x43a0eb.98
test dword [esi], edi
je 0x4392af
cmp dword [esi + 0x1148], ebx
jne case.0x43a0eb.98
mov dword [esi + 0x170], 0xda00
jmp case.0x43a0eb.98
xor edx, edx
mov dword [esi + 0xe44], edx
cmp dword [0x47a8c8], 1
push 4
pop ebx
jle 0x439c06
push ebx
push ecx
call fcn.00452fad
pop ecx
pop ecx
mov ecx, dword [ebp + 0x70]
xor edx, edx
jmp 0x439c12
mov eax, dword [str.________________________________H]
movzx eax, byte [eax + ecx*2]
and eax, 4
cmp eax, edx
je 0x439c75
lea edx, [esi + 0x22c]
mov eax, dword [edx]
cmp eax, 0x20
jg 0x439c66
lea eax, [esi + eax*4 + 0x1a8]
cmp dword [eax], 0
jne 0x439c35
and dword [eax], 0
mov ecx, dword [ebp + 0x70]
mov eax, dword [edx]
lea eax, [esi + eax*4 + 0x1a8]
mov edx, dword [eax]
cmp edx, 0x19999999
ja 0x439c63
push 0xffffffffffffffcf
lea edx, [edx + edx*4]
pop edi
shl edx, 1
sub edi, ecx
cmp edx, edi
ja 0x439c63
mov edx, dword [eax]
lea edx, [edx + edx*4]
lea ecx, [ecx + edx*2 - 0x30]
mov dword [eax], ecx
jmp 0x439c66
or dword [eax], 0xffffffff
mov dword [esi + 0xe44], 2
jmp case.0x43a0eb.98
cmp ecx, 0x3b
jne 0x439c92
lea eax, [esi + 0x22c]
mov ecx, dword [eax]
cmp ecx, 0x20
jge 0x439c66
mov dword [esi + ecx*4 + 0x1ac], edx
inc dword [eax]
jmp 0x439c66
cmp ecx, 0x40
jae 0x439cb3
lea eax, [esi + 0x230]
cmp dword [eax], edx
je 0x439ca6
or dword [eax], 0xffffffff
jmp 0x439c66
cmp ecx, 0x3f
jne 0x439c5f
mov dword [eax], 1
jmp 0x439c66
mov eax, dword [esi + 0x230]
shl eax, 8
add eax, ecx
mov ecx, 0x168
cmp eax, ecx
ja 0x43ab01
je 0x43aab7
cmp eax, 0x5a
ja 0x43a0d0
je 0x43a077
cmp eax, 0x48
ja 0x439dea
je 0x43a1ce
sub eax, 0x40
cmp eax, 7
ja case.0x43a0eb.98
jmp dword [eax*4 + 0x43b508]
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x439d16
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x439d1d
inc ecx
mov edx, dword [esi + 0x6c]
sub edx, ecx
push 1
mov ecx, dword [esi + 0x70]
mov eax, esi
call fcn.00434fbc
pop ecx
jmp 0x439046
mov edx, dword [esi + 0x12c]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x439d48
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x439d53
xor eax, eax
inc eax
jmp 0x439d55
mov eax, ecx
mov ecx, dword [esi + 0x70]
push 1
sub ecx, eax
jmp 0x43a17d
test byte [esi + 1], 0x20
je 0x43966c
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x439d7f
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x439d86
inc ecx
mov edx, dword [esi + 0x6c]
add edx, ecx
jmp 0x439db7
test byte [esi + 1], 0x20
je 0x43966c
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x439dab
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x439db2
inc ecx
mov edx, dword [esi + 0x6c]
sub edx, ecx
push 1
xor ecx, ecx
jmp 0x439d27
test byte [esi], 8
je 0x43966c
mov edx, dword [esi + 0x12c]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x439ddd
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x439de4
inc ecx
push ecx
jmp 0x439f35
cmp eax, 0x50
ja 0x439f3f
je 0x439f08
sub eax, 0x4a
je 0x439eb9
dec eax
je 0x439e8e
dec eax
je 0x439e53
dec eax
jne case.0x43a0eb.98
test byte [esi], 8
je 0x43966c
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x439e30
mov ecx, edx
mov edx, dword [esi + 0x80]
mov dword [eax], ecx
mov eax, dword [esi + 0x6c]
cmp eax, edx
jg 0x439046
test ecx, ecx
jne 0x439e48
inc ecx
push 1
push edx
push eax
call fcn.00434d84
jmp 0x439eb1
test byte [esi], 8
je 0x43aea1
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x439e70
mov ecx, edx
mov edx, dword [esi + 0x80]
mov dword [eax], ecx
mov eax, dword [esi + 0x6c]
cmp eax, edx
jg 0x439046
test ecx, ecx
jne 0x439e88
inc ecx
push 0
neg ecx
jmp 0x439e4a
mov eax, dword [esi + 0x1ac]
inc eax
cmp eax, 3
jbe 0x439e9c
xor eax, eax
mov ecx, eax
shr eax, 1
and ecx, 1
push ecx
and eax, 1
push eax
push 1
mov eax, esi
call fcn.0043762d
add esp, 0xc
jmp 0x439046
mov eax, dword [esi + 0x1ac]
cmp eax, edx
jne 0x439efa
xor eax, eax
inc eax
cmp eax, 3
jbe 0x439ecd
xor eax, eax
mov ecx, eax
shr eax, 1
and ecx, 1
push ecx
and eax, 1
push eax
push edx
mov eax, esi
call fcn.0043762d
add esp, 0xc
cmp dword [esi + 0x1164], 0
je 0x439046
and dword [esi + 0x10], 0
jmp 0x439046
cmp eax, 3
jne 0x439ec5
push esi
call fcn.00436d65
pop ecx
jmp 0x439ee4
test byte [esi], 8
je 0x43aea1
mov edx, dword [esi + 0x12c]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x439f25
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x439f30
xor eax, eax
inc eax
jmp 0x439f32
mov eax, ecx
neg eax
push eax
call fcn.00436e0d
jmp 0x439d2e
sub eax, 0x53
je 0x43a033
dec eax
je 0x43a00a
sub eax, ebx
jne case.0x43a0eb.98
test byte [esi], 1
je 0x43966c
mov edi, dword [esi + 0x12c]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edi
ja 0x439f74
mov edi, ecx
test edi, edi
mov dword [eax], edi
jne 0x439f7b
inc edi
mov eax, dword [esi + 0x70]
push 1
push 0x1032
push dword [esi + 0x6c]
mov dword [ebp + 0x6c], eax
push esi
call fcn.0043479c
mov ebx, dword [esi + 0x70]
mov dword [ebp + 0x60], eax
mov eax, dword [esi + 0x12c]
sub eax, ebx
add esp, 0x10
cmp edi, eax
jle 0x439fa8
mov edi, eax
mov eax, dword [esi + 0x6c]
push dword [esi + 0x6c]
mov dword [ebp + 0x48], eax
mov eax, dword [esi + 0x70]
add eax, edi
mov dword [ebp + 0x4c], eax
mov eax, esi
call fcn.0043510c
mov ebx, dword [esi + 0x70]
push dword [esi + 0x6c]
add ebx, edi
mov eax, esi
call fcn.0043510c
push dword [ebp + 0x4c]
mov eax, esi
push dword [ebp + 0x48]
push dword [esi + 0x70]
push dword [esi + 0x6c]
call fcn.00436dd2
add esp, 0x18
test edi, edi
je 0x439046
lea ebx, [esi + 0x54]
push dword [ebp + 0x6c]
mov eax, ebx
push dword [ebp + 0x60]
call fcn.00433cdf
inc dword [ebp + 0x6c]
dec edi
pop ecx
pop ecx
jne 0x439ff0
jmp 0x439046
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x43a01e
mov ecx, edx
test byte [esi + 1], 0x10
mov dword [eax], ecx
je 0x43966c
test ecx, ecx
jne 0x43a02f
inc ecx
neg ecx
jmp 0x43a058
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x43a047
mov ecx, edx
test byte [esi + 1], 0x10
mov dword [eax], ecx
je 0x43966c
test ecx, ecx
jne 0x43a058
inc ecx
push 1
push dword [esi + 0x80]
push dword [esi + 0x7c]
call fcn.00434d84
add esp, 0xc
and dword [esi + 0x8c], 0
jmp 0x439046
test dword [esi], edi
je 0x43aea1
mov edx, dword [esi + 0x12c]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x43a093
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x43a09a
inc ecx
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0x70]
jmp 0x43a0bf
cmp dword [esi + 0x70], 0
jle 0x43a0c3
dec dword [esi + 0x70]
mov eax, dword [esi + 0x70]
test eax, eax
jle 0x43a0be
mov ebx, dword [esi + 0xe40]
cmp byte [eax + ebx], 0
je 0x43a0a8
dec ecx
test ecx, ecx
jg 0x43a0a2
push dword [esi + 0x70]
push dword [esi + 0x6c]
push edi
push edx
jmp 0x439ad7
cmp eax, 0x69
ja 0x43a2ae
je 0x43ad2c
sub eax, 0x60
cmp eax, 8
ja case.0x43a0eb.98
jmp dword [eax*4 + 0x43b528]
test byte [esi + 1], 0x20
je 0x43966c
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x43a110
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x43a117
inc ecx
mov edx, dword [esi + 0x6c]
add edx, ecx
jmp 0x439d22
test byte [esi + 1], 0x20
je 0x43966c
mov edx, dword [esi + 0x12c]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x43a13f
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x43a14a
xor eax, eax
inc eax
jmp 0x43a14c
mov eax, ecx
mov ecx, dword [esi + 0x70]
push 1
add ecx, eax
jmp 0x43a17d
test byte [esi + 1], 0x20
je 0x43966c
mov edx, dword [esi + 0x12c]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x43a173
mov ecx, edx
test ecx, ecx
mov dword [eax], ecx
jne 0x43a17a
inc ecx
push 0
dec ecx
mov edx, dword [esi + 0x6c]
jmp 0x439d27
test byte [esi + 1], 0x20
je 0x43966c
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x43a1a3
mov ecx, edx
mov dword [eax], ecx
mov eax, dword [esi + 0x84]
test eax, eax
je 0x43a1b4
mov edx, dword [esi + 0x7c]
jmp 0x43a1b6
xor edx, edx
test ecx, ecx
jne 0x43a1bb
inc ecx
neg eax
sbb eax, eax
and eax, 2
push eax
lea edx, [ecx + edx - 1]
jmp 0x439d24
xor edx, edx
cmp dword [esi + 0x22c], 2
jge 0x43a1dd
mov dword [esi + 0x1b0], edx
mov edx, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov ecx, dword [eax]
cmp ecx, edx
mov edi, edx
ja 0x43a1f3
mov edi, ecx
mov edx, dword [esi + 0x12c]
mov dword [eax], edi
lea eax, [esi + 0x1b0]
mov ecx, dword [eax]
cmp ecx, edx
jbe 0x43a209
mov ecx, edx
mov dword [eax], ecx
mov eax, dword [esi + 0x84]
test eax, eax
je 0x43a21a
mov edx, dword [esi + 0x7c]
jmp 0x43a21c
xor edx, edx
test edi, edi
jne 0x43a221
inc edi
test ecx, ecx
jne 0x43a226
inc ecx
neg eax
sbb eax, eax
and eax, 2
push eax
lea edx, [edi + edx - 1]
dec ecx
jmp 0x439d27
test byte [esi], 2
je 0x43966c
lea edi, [esi + 0x1084]
cmp dword [edi], 0
jmp 0x4398d3
test byte [esi], 2
je 0x43966c
cmp dword [esi + 0x22c], 1
jne case.0x43a0eb.98
mov eax, dword [esi + 0x1ac]
test eax, eax
jne 0x43a281
mov eax, dword [esi + 0xe40]
mov ecx, dword [esi + 0x70]
mov byte [eax + ecx], 0
jmp case.0x43a0eb.98
cmp eax, 3
jne case.0x43a0eb.98
xor ecx, ecx
lea eax, [esi + 0x12c]
cmp dword [eax], ecx
jle case.0x43a0eb.98
mov edx, dword [esi + 0xe40]
mov byte [ecx + edx], 0
inc ecx
cmp ecx, dword [eax]
jl 0x43a29a
jmp case.0x43a0eb.98
cmp eax, 0x73
ja 0x43a6ce
je 0x4397c8
sub eax, 0x6c
je 0x43ace3
dec eax
je 0x43a3d3
dec eax
je 0x43a36c
sub eax, ebx
jne case.0x43a0eb.98
test byte [esi], 2
je 0x43966c
cmp dword [esi + 0x22c], 2
jg case.0x43a0eb.98
mov edi, dword [esi + 0x128]
lea eax, [esi + 0x1ac]
mov edx, dword [eax]
cmp edx, edi
jbe 0x43a306
mov edx, edi
mov dword [eax], edx
lea eax, [esi + 0x1b0]
mov ecx, dword [eax]
cmp ecx, edi
mov ebx, edi
ja 0x43a318
mov ebx, ecx
test edx, edx
mov dword [eax], ebx
jne 0x43a323
xor ecx, ecx
inc ecx
jmp 0x43a325
mov ecx, edx
dec ecx
cmp dword [esi + 0x22c], 1
jle 0x43a335
test ebx, ebx
mov eax, ebx
jne 0x43a337
mov eax, edi
dec eax
cmp eax, edi
jl 0x43a33f
lea eax, [edi - 1]
mov edx, eax
sub edx, ecx
test edx, edx
jle case.0x43a0eb.98
and dword [esi + 0x70], 0
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x84]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x6c], eax
jmp 0x439046
mov ecx, dword [esi + 0x1084]
cmp ecx, edx
je case.0x43a0eb.98
mov eax, dword [esi + 0x1ac]
cmp eax, 6
jne 0x43a3bc
mov eax, dword [esi + 0x70]
inc eax
push eax
mov eax, dword [esi + 0x6c]
inc eax
push eax
lea eax, [ebp - 4]
push str.e__d__dR
push eax
call fcn.00452ae8
add esp, 0x10
lea eax, [ebp - 4]
push 0
push eax
call fcn.00451fa0
pop ecx
push eax
lea eax, [ebp - 4]
push eax
push dword [esi + 0x1084]
jmp 0x43b33b
cmp eax, 5
jne case.0x43a0eb.98
push 0
push ebx
push str.e_0n
push ecx
jmp 0x43b33b
cmp dword [esi + 0x22c], edx
mov dword [ebp + 0x6c], edx
jle 0x43b46c
lea ecx, [esi + 0x1b0]
mov dword [ebp + 0x68], 2
lea edi, [esi + 0x1ac]
lea ebx, [esi + 0x1b4]
mov dword [ebp + 0x60], ecx
xor edx, edx
mov eax, dword [edi]
cmp eax, edx
jne 0x43a40a
xor eax, eax
jmp 0x43a432
cmp eax, 0x61
ja 0x43a685
cmp eax, 0x5a
jae 0x43a678
cmp eax, 0x16
ja 0x43a546
je 0x43a536
cmp eax, 7
ja 0x43a49f
je 0x43a496
sub eax, edx
je 0x43a48e
dec eax
je 0x43a47c
sub eax, 3
je 0x43a4bd
dec eax
je 0x43a46a
dec eax
jne 0x43a6a8
test byte [esi + 1], 0x10
je 0x43a589
and dword [esi + 0xc4], 0
or byte [esi + 0x42], 0x20
call fcn.004348df
mov ecx, dword [ebp + 0x60]
jmp 0x43a6a6
test byte [esi], 4
je 0x43a589
or byte [esi + 0x42], 0x20
jmp 0x43a6a8
test byte [esi], 4
je 0x43a589
or byte [esi + 0x42], 4
jmp 0x43a6a8
mov eax, dword [esi + 0x3c]
jmp 0x43a624
or byte [esi + 0x42], 0x10
jmp 0x43a6a8
sub eax, 0xa
je 0x43a519
dec eax
je 0x43a4f4
dec eax
je 0x43a4cf
sub eax, 9
jne 0x43a6a8
test byte [esi + 1], 0x40
je 0x43a589
test byte [esi], 4
je 0x43a589
or byte [esi + 0x42], 8
jmp 0x43a6a8
test byte [esi + 1], 0x10
je 0x43a589
cmp dword [esi + 0x1148], edx
jne 0x43a6a8
mov dword [esi + 0xd0], 2
jmp 0x43a6a8
test byte [esi + 1], 0x10
je 0x43a589
cmp dword [esi + 0x1148], edx
jne 0x43a6a8
mov dword [esi + 0xd0], 1
jmp 0x43a6a8
test byte [esi + 1], 0x10
je 0x43a589
cmp dword [esi + 0x1148], edx
jne 0x43a6a8
mov dword [esi + 0xd0], edx
jmp 0x43a6a8
test word [esi], 0x4010
je 0x43a589
and byte [esi + 0x42], 0xfb
jmp 0x43a6a8
cmp eax, 0x26
ja 0x43a5f9
je 0x43a5bd
cmp eax, 0x18
je 0x43a5ad
cmp eax, 0x19
je 0x43a59d
cmp eax, 0x1b
je 0x43a582
cmp eax, 0x1d
jbe 0x43a6a8
cmp eax, 0x25
ja 0x43a6a8
and word [esi + 0x40], 0xfe00
mov edx, dword [edi]
sub edx, 0x1e
jmp 0x43a69e
test word [esi], 0x4010
jne 0x43a594
mov dword [esi + 0xe44], edx
jmp 0x43a6a8
and byte [esi + 0x42], 0xef
jmp 0x43a6a8
test word [esi], 0x4010
je 0x43a589
and byte [esi + 0x42], 0xdf
jmp 0x43a6a8
test word [esi], 0x4010
je 0x43a589
and byte [esi + 0x42], 0xf7
jmp 0x43a6a8
mov eax, dword [ebp + 0x68]
cmp eax, dword [esi + 0x22c]
jge 0x43a6a8
cmp dword [ecx], 5
jne 0x43a6a8
and word [esi + 0x40], 0xfe00
mov edx, dword [ebx]
add dword [ebp + 0x6c], 2
and edx, 0xff
add ecx, 8
add ebx, 8
add edi, 8
add dword [ebp + 0x68], 2
jmp 0x43a69e
cmp eax, 0x27
je 0x43a669
jbe 0x43a6a8
cmp eax, 0x2f
jbe 0x43a65b
cmp eax, 0x30
je 0x43a629
cmp eax, 0x31
jne 0x43a6a8
mov eax, dword [esi + 0x40]
and eax, 0xfffe05ff
or eax, 0x20400
mov dword [esi + 0x40], eax
jmp 0x43a6a8
mov eax, dword [ebp + 0x68]
cmp eax, dword [esi + 0x22c]
jge 0x43a6a8
cmp dword [ecx], 5
jne 0x43a6a8
and dword [esi + 0x40], 0xfffc01ff
mov edx, dword [ebx]
add dword [ebp + 0x6c], 2
and edx, 0xff
add ecx, 8
add ebx, 8
add edi, 8
add dword [ebp + 0x68], 2
jmp 0x43a69b
and dword [esi + 0x40], 0xfffc01ff
mov edx, dword [edi]
sub edx, 0x28
jmp 0x43a69b
mov eax, dword [esi + 0x40]
and eax, 0xffffff00
or eax, 0x100
jmp 0x43a624
and word [esi + 0x40], 0xfe00
mov edx, dword [edi]
sub edx, 0x52
jmp 0x43a69e
cmp eax, 0x64
jb 0x43a6a8
cmp eax, 0x6b
ja 0x43a6a8
and dword [esi + 0x40], 0xfffc01ff
mov edx, dword [edi]
sub edx, 0x5c
shl edx, 9
mov eax, dword [esi + 0x40]
or edx, eax
mov dword [esi + 0x40], edx
xor edx, edx
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
add ecx, 4
add ebx, 4
add edi, 4
inc dword [ebp + 0x68]
cmp eax, dword [esi + 0x22c]
mov dword [ebp + 0x60], ecx
jl 0x43a400
jmp 0x43b46c
sub eax, 0x74
je 0x43a740
dec eax
je 0x43a73a
sub eax, 3
jne case.0x43a0eb.98
test byte [esi], 2
je 0x43966c
cmp dword [esi + 0x1084], 0
je case.0x43a0eb.98
mov eax, dword [esi + 0x1ac]
test eax, eax
jne 0x43a703
xor ebx, ebx
jmp 0x43a70e
mov ebx, eax
cmp ebx, 1
jne case.0x43a0eb.98
lea eax, [ebp + 0x1c]
push str.e_2_1_1_112_112_1_0x
push eax
call fcn.00453c70
add byte [ebp + 0x1e], bl
push 0
push 0x14
lea eax, [ebp + 0x1c]
push eax
push dword [esi + 0x1084]
call fcn.00408aa1
add esp, 0x18
jmp case.0x43a0eb.98
push edx
jmp 0x4397b3
mov ecx, dword [esi + 0x22c]
cmp ecx, 1
jg 0x43a79e
mov eax, dword [esi + 0x1ac]
cmp eax, 1
jb 0x43a75b
cmp eax, 0x18
jb 0x43a795
test byte [esi + 1], 1
je 0x43aea1
cmp dword [esi + 0x114c], edx
jne 0x43a789
cmp eax, edx
jne 0x43a774
push 0x18
pop eax
push eax
push dword [esi + 0x12c]
push dword [esi + 0x1088]
call fcn.00445e10
add esp, 0xc
mov eax, esi
call fcn.00436c68
jmp case.0x43a0eb.98
cmp ecx, 1
jl case.0x43a0eb.98
mov eax, dword [esi + 0x1ac]
cmp eax, 1
jb case.0x43a0eb.98
cmp eax, 0x18
jae case.0x43a0eb.98
test dword [esi], edi
je 0x43966c
cmp eax, 9
ja 0x43a8d4
je 0x43a8af
dec eax
je 0x43a89d
dec eax
je 0x43a899
dec eax
je 0x43a865
dec eax
dec eax
je 0x43a853
dec eax
je 0x43a84f
dec eax
je 0x43a83f
dec eax
jne case.0x43a0eb.98
cmp ecx, 3
jl case.0x43a0eb.98
cmp dword [esi + 0x114c], 0
jne case.0x43a0eb.98
mov eax, dword [esi + 0x1b0]
test eax, eax
jne 0x43a81b
mov ecx, dword [esi + 0x110c]
jmp 0x43a81d
mov ecx, eax
mov eax, dword [esi + 0x1b4]
test eax, eax
jne 0x43a82d
mov eax, dword [esi + 0x1110]
push ecx
push eax
push dword [esi + 0x1088]
call fcn.00445e10
jmp 0x4392fa
push dword [esi + 0x1088]
call fcn.00444e09
jmp 0x43b425
push 0
jmp 0x43a855
push 1
push dword [esi + 0x1088]
call fcn.00444dd9
jmp 0x43acdd
cmp ecx, 3
jl case.0x43a0eb.98
cmp dword [esi + 0x114c], 0
jne case.0x43a0eb.98
mov eax, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x1b0]
push eax
push ecx
push dword [esi + 0x1088]
call fcn.00444d96
jmp 0x4392fa
push 1
jmp 0x43a89f
push 0
push dword [esi + 0x1088]
call fcn.00444d65
jmp 0x43acdd
cmp ecx, 2
jl case.0x43a0eb.98
xor eax, eax
cmp dword [esi + 0x1b0], eax
setne al
push eax
push dword [esi + 0x1088]
call fcn.00444e1a
jmp 0x43acdd
sub eax, 0xb
je 0x43aa86
push 2
pop ecx
sub eax, ecx
je 0x43aa38
dec eax
je 0x43aa0b
sub eax, ebx
je 0x43a9ca
sub eax, ecx
je 0x43a94b
dec eax
jne case.0x43a0eb.98
cmp dword [esi + 0x1084], 0
je case.0x43a0eb.98
mov eax, dword [esi + 0x115c]
test eax, eax
je case.0x43a0eb.98
cmp eax, ecx
jne 0x43a934
push 0
push dword [esi + 0x1088]
call fcn.00444eae
pop ecx
pop ecx
mov edi, eax
jmp 0x43a93a
mov edi, dword [0x47a7b4]
push edi
call fcn.00451fa0
push 0
push 3
push 0x47093c
jmp 0x43a992
cmp dword [esi + 0x1084], 0
je case.0x43a0eb.98
mov eax, dword [esi + 0x115c]
test eax, eax
je case.0x43a0eb.98
cmp eax, ecx
jne 0x43a97d
push 1
push dword [esi + 0x1088]
call fcn.00444eae
pop ecx
pop ecx
mov edi, eax
jmp 0x43a983
mov edi, dword [0x47a7b4]
push edi
call fcn.00451fa0
push 0
push 3
push 0x470938
push dword [esi + 0x1084]
mov ebx, eax
call fcn.00408aa1
push 0
push ebx
push edi
push dword [esi + 0x1084]
call fcn.00408aa1
push 0
push 2
push 0x470934
push dword [esi + 0x1084]
call fcn.00408aa1
add esp, 0x34
jmp case.0x43a0eb.98
cmp dword [esi + 0x1084], 0
je case.0x43a0eb.98
push dword [esi + 0x12c]
lea eax, [ebp - 0x54]
push dword [esi + 0x128]
push str.e_8__d__dt
push eax
call fcn.00452ae8
push 0
push eax
lea eax, [ebp - 0x54]
push eax
push dword [esi + 0x1084]
call fcn.00408aa1
add esp, 0x20
jmp case.0x43a0eb.98
cmp dword [esi + 0x1084], 0
je case.0x43a0eb.98
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x50]
push eax
push dword [esi + 0x1088]
call fcn.00444e80
push dword [ebp + 0x50]
push dword [ebp + 0x54]
push str.e_4__d__dt
jmp 0x43aa63
cmp dword [esi + 0x1084], 0
je case.0x43a0eb.98
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x50]
push eax
push dword [esi + 0x1088]
call fcn.00444e58
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push str.e_3__u__ut
lea eax, [ebp - 0x54]
push eax
call fcn.00452ae8
push 0
push eax
lea eax, [ebp - 0x54]
push eax
push dword [esi + 0x1084]
call fcn.00408aa1
add esp, 0x2c
jmp case.0x43a0eb.98
cmp dword [esi + 0x1084], 0
je case.0x43a0eb.98
push dword [esi + 0x1088]
call fcn.00444e4b
test eax, eax
pop ecx
mov eax, str.e_2t
jne 0x43aaad
mov eax, str.e_1t
push 0
push ebx
jmp 0x43a3b0
xor edx, edx
test byte [esi], 2
je 0x43aea1
cmp dword [esi + 0x22c], edx
mov dword [ebp + 0x6c], edx
jle case.0x43a0eb.98
lea ebx, [esi + 0x1ac]
push dword [esi + 0x230]
mov esi, dword [ebp + 0x7c]
mov eax, dword [ebx]
xor edi, edi
inc edi
mov ecx, esi
call fcn.00437a03
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
add ebx, 4
cmp eax, dword [esi + 0x22c]
pop ecx
jl 0x43aad5
jmp case.0x43a0eb.98
mov ecx, 0x3d44
cmp eax, ecx
ja 0x43adf7
je 0x43adc7
sub eax, 0x169
je 0x43ad2c
sub eax, 3
je 0x43ace3
sub eax, 0x2104
je 0x43abed
sub eax, 0x20c
je 0x43abad
sub eax, 0x600
je 0x43ab77
sub eax, 0x12c7
jne case.0x43a0eb.98
test byte [esi + 1], 0x10
je 0x43966c
cmp dword [esi + 0x22c], 2
jl case.0x43a0eb.98
mov eax, dword [esi + 0x1ac]
cmp dword [esi + 0x1b0], eax
sbb eax, eax
inc eax
jmp 0x43ae70
test byte [esi], 0x40
je 0x43aea1
cmp dword [esi + 0x22c], 1
jne case.0x43a0eb.98
mov eax, dword [esi + 0x1ac]
test eax, eax
jbe case.0x43a0eb.98
cmp dword [esi + 0x114c], 0
jne 0x43a789
jmp 0x43a774
test byte [esi + 1], 1
je 0x43aea1
cmp dword [esi + 0x22c], 1
jg case.0x43a0eb.98
cmp dword [esi + 0x114c], 0
jne 0x43a789
mov eax, dword [esi + 0x1ac]
test eax, eax
jne 0x43abe1
mov eax, dword [esi + 0x1110]
push dword [esi + 0x128]
push eax
jmp 0x43a77b
mov ecx, dword [esi + 0x1ac]
mov eax, ecx
sub eax, edx
je 0x43ac4c
sub eax, 0x28
je 0x43ac44
dec eax
je 0x43ac4c
dec eax
je 0x43ac3c
sub eax, 8
je 0x43ac52
sub eax, 0xb
je 0x43ac30
dec eax
je 0x43ac22
cmp ecx, 0x3c
jbe 0x43ac52
cmp ecx, 0x46
jae 0x43ac52
or word [esi], 0x1ff
jmp 0x43ac52
mov eax, dword [esi]
and eax, 0xfffffe1f
or eax, 0x1f
mov dword [esi], eax
jmp 0x43ac52
mov eax, dword [esi]
and eax, 0xfffffe0f
or eax, 0xf
jmp 0x43ac2c
mov dword [esi], 0x1001
jmp 0x43ac52
and dword [esi], 0x1ff
jmp 0x43ac52
mov dword [esi], 0xffff
cmp ecx, 0x32
jne case.0x43a0eb.98
lea eax, [esi + 0xa40]
push 0x4708fc
push eax
call fcn.00453c70
xor edi, edi
inc edi
cmp dword [esi + 0x22c], edi
pop ecx
pop ecx
jle 0x43accc
lea ebx, [esi + 0x1b0]
cmp edi, 1
je 0x43ac97
lea eax, [esi + 0xa40]
push 0x4708f8
push eax
call fcn.00453c80
pop ecx
pop ecx
push dword [ebx]
lea eax, [ebp - 0x94]
push 0x45dc6c
push eax
call fcn.00452ae8
lea eax, [ebp - 0x94]
push eax
lea eax, [esi + 0xa40]
push eax
call fcn.00453c80
add esp, 0x14
inc edi
add ebx, 4
cmp edi, dword [esi + 0x22c]
jl 0x43ac7f
lea eax, [esi + 0xa40]
push 0x4708f4
push eax
call fcn.00453c80
pop ecx
jmp 0x43b425
test byte [esi], 2
je 0x43aea1
cmp dword [esi + 0x22c], edx
mov dword [ebp + 0x6c], edx
jle case.0x43a0eb.98
lea ebx, [esi + 0x1ac]
push dword [esi + 0x230]
mov esi, dword [ebp + 0x7c]
mov eax, dword [ebx]
xor edi, edi
mov ecx, esi
call fcn.00437a03
inc dword [ebp + 0x6c]
mov eax, dword [ebp + 0x6c]
add ebx, 4
cmp eax, dword [esi + 0x22c]
pop ecx
jl 0x43ad01
jmp case.0x43a0eb.98
test byte [esi], 2
je 0x43aea1
cmp dword [esi + 0x22c], 1
jne case.0x43a0eb.98
cmp dword [esi + 0x1ac], 5
jne 0x43ada2
push 0x7c
push dword [esi + 0x1094]
call fcn.0040231d
mov edi, eax
cmp byte [edi], 0
pop ecx
pop ecx
je 0x43ada2
xor eax, eax
cmp dword [esi + 0x230], eax
mov dword [esi + 0xec], 1
sete al
and dword [esi + 0xf4], 0
mov dword [esi + 0xf0], eax
lea eax, [esi + 0xf8]
push eax
call fcn.0040c1dd
push edi
call fcn.0044df93
pop ecx
pop ecx
mov dword [esi + 0x104], eax
jmp case.0x43a0eb.98
cmp dword [esi + 0x1ac], ebx
jne case.0x43a0eb.98
cmp dword [esi + 0xec], 0
je case.0x43a0eb.98
mov eax, esi
call fcn.00435286
jmp case.0x43a0eb.98
test byte [esi + 1], 0x10
je 0x43aea1
mov dword [esi + 0xc4], edx
call fcn.004348df
cmp dword [esi + 0x1ac], 1
jb 0x43adee
or byte [esi + 0x42], 0x20
jmp case.0x43a0eb.98
and byte [esi + 0x42], 0xdf
jmp case.0x43a0eb.98
sub eax, 0x3d45
je 0x43af36
dec eax
je 0x43aef2
dec eax
je 0x43aec2
sub eax, 5
je 0x43ae9b
sub eax, 0x17
je 0x43ae4d
sub eax, 0x100
jne case.0x43a0eb.98
test dword [esi], edi
je 0x43966c
mov eax, dword [esi + 0x1084]
test eax, eax
je case.0x43a0eb.98
push 0
push 0xb
push str.e__0_136_0c
jmp 0x43b33a
test byte [esi + 1], 0x10
je 0x43aea1
mov eax, dword [esi + 0x1ac]
sub eax, edx
je 0x43ae90
dec eax
je 0x43ae7b
dec eax
jne case.0x43a0eb.98
xor eax, eax
inc eax
mov dword [esi + 0x158], eax
mov dword [esi + 0xb0], eax
jmp case.0x43a0eb.98
mov dword [esi + 0x158], edx
mov dword [esi + 0xb0], 1
jmp case.0x43a0eb.98
mov dword [esi + 0xb0], edx
jmp case.0x43a0eb.98
test byte [esi + 1], 0x10
jne 0x43aeac
mov dword [esi + 0xe44], edx
jmp case.0x43a0eb.98
xor eax, eax
cmp eax, dword [esi + 0x1ac]
sbb eax, eax
inc eax
mov dword [esi + 0xb8], eax
jmp 0x43b46c
test byte [esi + 1], 0x10
je 0x43aea1
mov ecx, dword [esi + 0x1ac]
cmp ecx, 0x10
jae case.0x43a0eb.98
mov eax, ecx
and eax, 7
movsx eax, byte [eax + 0x470380]
and ecx, 8
or eax, ecx
shl eax, 9
mov ecx, 0xfffc01ff
jmp 0x43af1d
test byte [esi + 1], 0x10
je 0x43aea1
mov ecx, dword [esi + 0x1ac]
cmp ecx, 0x10
jae case.0x43a0eb.98
mov eax, ecx
and eax, 7
movsx eax, byte [eax + 0x470380]
and ecx, 8
or eax, ecx
mov ecx, 0xfffffe00
mov edx, dword [esi + 0x40]
and edx, ecx
or edx, eax
mov dword [esi + 0x40], edx
mov edx, dword [esi + 0x3c]
and edx, ecx
or edx, eax
mov dword [esi + 0x3c], edx
jmp 0x43b46c
test byte [esi + 1], 0x10
je 0x43aea1
cmp dword [esi + 0x1ac], 1
sbb eax, eax
inc eax
mov dword [esi + 0xc4], eax
call fcn.004348df
jmp case.0x43a0eb.98
xor edi, edi
cmp ecx, 0x30
mov dword [esi + 0xa3c], edi
jb 0x43b017
cmp ecx, 0x39
jbe 0x43afe1
cmp ecx, 0x4c
je 0x43afcb
cmp ecx, 0x50
je 0x43afbf
cmp ecx, 0x52
je 0x43afa1
cmp ecx, 0x57
jne 0x43b017
mov dword [esi + 0xe44], 4
mov dword [esi + 0xa3c], 1
jmp case.0x43a0eb.98
push dword [esi + 0x1088]
call fcn.004440cf
push esi
call fcn.004372c4
pop ecx
pop ecx
mov dword [esi + 0xe44], edi
jmp case.0x43a0eb.98
mov dword [esi + 0xe44], 6
jmp 0x43b021
lea eax, [esi + 0x1ac]
cmp dword [eax], 2
jne 0x43b017
mov dword [eax], 1
jmp case.0x43a0eb.98
mov eax, dword [esi + 0x1ac]
cmp eax, 0x19999999
ja 0x43b00b
push 0xffffffffffffffcf
lea eax, [eax + eax*4]
pop edx
shl eax, 1
sub edx, ecx
cmp eax, edx
ja 0x43b00b
lea eax, [eax + ecx - 0x30]
mov dword [esi + 0x1ac], eax
jmp case.0x43a0eb.98
or dword [esi + 0x1ac], 0xffffffff
jmp case.0x43a0eb.98
mov dword [esi + 0xe44], 7
mov dword [esi + 0x234], edi
jmp case.0x43a0eb.98
cmp ecx, 0xa
je 0x43966c
cmp ecx, 0xd
je 0x43966c
cmp ecx, 0x9c
je 0x439667
cmp ecx, 7
je 0x439667
cmp ecx, 0x1b
jne 0x43b067
mov dword [esi + 0xe44], 8
jmp case.0x43a0eb.98
lea eax, [esi + 0x234]
mov edx, dword [eax]
cmp edx, 0x800
jge case.0x43a0eb.98
mov byte [edx + esi + 0x238], cl
inc dword [eax]
jmp case.0x43a0eb.98
mov edx, dword [esi + 0x234]
mov eax, edx
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x15
cmp ecx, 0x30
jl 0x43b0aa
cmp ecx, 0x39
jg 0x43b0aa
add ecx, 0xffffffd0
jmp 0x43b0d2
cmp ecx, 0x41
jl 0x43b0bb
lea edi, [eax + 0x37]
cmp ecx, edi
jg 0x43b0bb
add ecx, 0xffffffc9
jmp 0x43b0d2
cmp ecx, 0x61
jl 0x43966c
add eax, 0x57
cmp ecx, eax
jg 0x43966c
add ecx, 0xffffffa9
mov byte [edx + esi + 0x238], cl
inc dword [esi + 0x234]
cmp dword [esi + 0x234], 7
jl case.0x43a0eb.98
movsx eax, byte [esi + 0x23d]
movsx ecx, byte [esi + 0x23e]
shl eax, 4
add eax, ecx
movsx ecx, byte [esi + 0x23c]
push eax
movsx eax, byte [esi + 0x23b]
shl eax, 4
add eax, ecx
movsx ecx, byte [esi + 0x23a]
push eax
movsx eax, byte [esi + 0x239]
shl eax, 4
add eax, ecx
push eax
movsx eax, byte [esi + 0x238]
push eax
push dword [esi + 0x1088]
call fcn.00444057
push esi
call fcn.004372c4
add esp, 0x18
jmp 0x43966c
cmp ecx, 0x30
jb 0x43b157
cmp ecx, 0x39
jbe 0x43afe1
and dword [esi + 0x234], 0
mov dword [esi + 0xe44], 7
jmp case.0x43a0eb.98
xor edi, edi
mov eax, esi
mov dword [esi + 0xe44], edi
call fcn.004371d0
mov eax, dword [ebp + 0x70]
cmp eax, 0x53
ja 0x43b2c0
je 0x43b2b7
add eax, 0xffffffc4
cmp eax, 0x16
ja case.0x43a0eb.98
jmp dword [eax*4 + 0x43b54c]
mov edx, dword [esi + 0x6c]
push 1
dec edx
jmp 0x43b41b
mov edx, dword [esi + 0x6c]
push 1
inc edx
jmp 0x43b41b
mov ecx, dword [esi + 0x70]
inc ecx
push 1
mov edx, dword [esi + 0x6c]
jmp 0x43b41e
mov ecx, dword [esi + 0x70]
dec ecx
jmp 0x43b1bb
mov dword [esi + 0x94], edi
jmp 0x4399ee
mov dword [esi + 0x94], edi
jmp 0x439afb
xor edx, edx
push edi
xor ecx, ecx
jmp 0x43b41e
mov eax, dword [esi + 0x6c]
cmp eax, edi
jne 0x43b20a
mov eax, dword [esi + 0x128]
push 1
dec eax
push eax
push edi
or ecx, 0xffffffff
call fcn.00434d84
jmp 0x43b3f9
jle 0x43b3fc
dec eax
mov dword [esi + 0x6c], eax
jmp 0x43b3fc
push 1
push edi
jmp 0x43b357
push 1
push edi
push 1
mov eax, esi
call fcn.0043762d
jmp 0x4392fa
mov dword [esi + 0x144], edi
jmp case.0x43a0eb.98
mov eax, dword [esi + 0x1104]
mov dword [esi + 0x148], edi
jmp 0x43af4a
push edi
xor edx, edx
xor ecx, ecx
mov eax, esi
call fcn.00434fbc
push 1
push edi
push edi
call fcn.0043762d
add esp, 0x10
jmp 0x43b362
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x80]
cmp eax, ecx
jg case.0x43a0eb.98
push edi
push ecx
or ecx, 0xffffffff
push eax
call fcn.00434d84
jmp 0x4392fa
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x80]
cmp eax, ecx
jg case.0x43a0eb.98
push 1
push ecx
xor ecx, ecx
inc ecx
jmp 0x43b281
mov dword [esi + 0xd8], edi
mov dword [esi + 0x40], 0x20500
jmp 0x43b46c
or byte [esi + 0x42], 8
jmp case.0x43a0eb.98
cmp eax, 0x65
ja 0x43b394
je 0x43ae81
cmp eax, 0x5a
ja 0x43b345
je 0x43b324
sub eax, 0x54
je 0x43b315
dec eax
je 0x43b302
dec eax
dec eax
je 0x43b2f9
dec eax
dec eax
jne case.0x43a0eb.98
mov dword [esi + 0xe44], 0xa
jmp case.0x43a0eb.98
and byte [esi + 0x42], 0xf7
jmp case.0x43a0eb.98
or byte [esi + 0x42], 4
mov dword [esi + 0xd8], 1
jmp case.0x43a0eb.98
and byte [esi + 0x42], 0xfb
mov dword [esi + 0xd8], edi
jmp case.0x43a0eb.98
mov eax, dword [esi + 0x1084]
cmp eax, edi
je case.0x43a0eb.98
push edi
push 3
push 0x4708e4
push eax
call fcn.00408aa1
jmp 0x439ade
sub eax, 0x62
je 0x43b385
dec eax
je 0x43b376
dec eax
jne case.0x43a0eb.98
push edi
push 1
push edi
mov eax, esi
call fcn.0043762d
add esp, 0xc
cmp dword [esi + 0x1164], edi
je case.0x43a0eb.98
mov dword [esi + 0x10], edi
jmp case.0x43a0eb.98
mov dword [esi + 0xe44], 0xd
jmp case.0x43a0eb.98
mov dword [esi + 0xe44], 0xc
jmp case.0x43a0eb.98
sub eax, 0x66
je 0x43b404
sub eax, 6
je 0x43b3e9
sub eax, 3
je 0x43b3e1
dec eax
je 0x43b3d8
dec eax
je 0x43b3cf
sub eax, 5
je 0x43b3c0
dec eax
jne case.0x43a0eb.98
mov dword [esi + 0x88], edi
jmp case.0x43a0eb.98
mov dword [esi + 0x88], 1
jmp case.0x43a0eb.98
and byte [esi + 0x42], 0xef
jmp case.0x43a0eb.98
or byte [esi + 0x42], 0x10
jmp case.0x43a0eb.98
push edi
push 1
jmp 0x43b224
push 1
push 1
push 1
mov eax, esi
call fcn.0043762d
mov dword [esi + 0x70], edi
add esp, 0xc
mov dword [esi + 0x8c], edi
jmp case.0x43a0eb.98
mov dword [esi + 0xb0], edi
jmp case.0x43a0eb.98
mov dword [esi + 0xe44], 0xb
push 0
lea edx, [ecx - 0x20]
mov ecx, dword [esi + 0x70]
mov eax, esi
call fcn.00434fbc
pop ecx
jmp case.0x43a0eb.98
and dword [esi + 0xe44], 0
push 0
add ecx, 0xffffffe0
jmp 0x43b1bd
mov eax, dword [esi + 0x40]
and dword [esi + 0xe44], 0
and eax, 0xfffbfe00
and ecx, 0xf
or eax, ecx
mov dword [esi + 0x40], eax
jmp 0x43b46c
mov eax, dword [esi + 0x40]
and dword [esi + 0xe44], 0
and ecx, 0xf
shl ecx, 9
and eax, 0xffdc01ff
or ecx, eax
mov dword [esi + 0x40], ecx
mov eax, esi
call fcn.00434926
cmp dword [esi + 0xe48], 0
je 0x438a49
mov eax, dword [ebp + 0x7c]
mov ecx, dword [eax + 0x70]
cmp ecx, dword [eax + 0x12c]
mov edx, dword [eax + 0x6c]
jne 0x43b496
xor ecx, ecx
inc edx
jmp 0x43b497
inc ecx
push ecx
push edx
push dword [eax + 0x70]
push dword [eax + 0x6c]
call fcn.00436dd2
add esp, 0x10
jmp 0x438a49
mov ebx, esi
call fcn.00435226
cmp dword [esi + 0x1124], 0
je 0x43b4c8
push dword [esi + 0x108c]
call fcn.0040938a
pop ecx
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret