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

Disassembly:
push dword [esp + 0x70]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
push eax
push esi
push dword [ebp + 8]
inc dword [esi]
call fcn.00407e50
test eax, eax
js 0x43f003
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi]
cmp ecx, eax
je case.0x40655f.4
mov esi, dword [edx + 4]
mov dword [esp + 0x40], esi
mov edx, dword [esi + ecx*4]
movzx eax, word [edx + 8]
cmp ax, 0x7f
je case.0x40655f.4
cwde
cmp eax, 0x33
je 0x40558c
cmp eax, 0x4f
je case.0x40655f.4
cmp eax, 5
je 0x405861
cmp eax, 0x58
ja case.0x40655f.4
movzx eax, byte [eax + 0x406be8]
jmp dword [eax*4 + 0x406b7c]
mov eax, dword [edx]
cmp eax, 4
jl 0x40654e
cmp eax, 0x27
jge 0x40654e
mov esi, 0x14
mov dword [esp + 0x14], esi
mov cl, byte [esp + 0x51]
mov edx, dword [esp + 0x2c]
test cl, cl
jne 0x405a41
mov eax, edx
imul eax, dword [eax], 0x15
movzx eax, byte [eax + esi + 0x4a6040]
cmp eax, 3
jne 0x4057f9
cmp dword [esp + 0x20], 1
jne 0x406b6f
mov eax, dword [esp + 0x24]
xor edi, edi
mov dword [esp + 8], eax
mov dword [esp + 0x18], edi
test eax, eax
jne 0x405c81
test edx, edx
je 0x405582
lea ecx, [ecx]
mov esi, dword [edx + 4]
push edx
call fcn.00420f8c
add esp, 4
mov edx, esi
test esi, esi
jne 0x405570
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], 0x16
test esi, esi
jne 0x405c21
cmp edi, 0x4c7488
je 0x4055e6
cmp dword [edi + 0xc], 4
je 0x4064e2
mov esi, dword [edi + 8]
test esi, esi
jne 0x4064f4
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x43ebc3
push 0x4c7488
mov ecx, edi
mov dword [edi + 0xc], 1
mov eax, dword [esp + 8]
inc esi
mov dword [esp + 0x20], esi
cmp esi, 1
jne 0x405c6d
mov dword [esp + 0x70], edi
cmp dword [0x4c7280], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
sbb byte [edi], cl
test al, bh
add al, byte [eax]
invalid
cmp byte [0x4c7289], 0
jne 0x43ed5c
mov esi, dword [0x4c7284]
cmp dword [esi], 0
je 0x405915
mov ecx, dword [0x4c7440]
mov byte [esp + 0x13], 0
test cl, 1
je 0x43ed6d
mov dword [0x4c7460], 0
mov dword [0x4c745c], 0
mov dword [esp + 0x3c], 0x4c7444
mov dword [esp + 0x5c], 0x4c7444
mov edx, dword [esi]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], eax
mov ecx, dword [edx + 4]
test eax, eax
je 0x43ed96
test ecx, ecx
je 0x43ed9e
cmp eax, 6
ja case.0x4057fe.3
jmp dword [eax*4 + 0x406c44]
test cl, cl
jne 0x405d46
push 8
call fcn.00420f16
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x406b2e
invalid
mov dword [ecx], esi
mov eax, dword [esp + 0x2c]
mov dword [ecx + 4], eax
mov eax, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
inc dword [esp + 0x48]
cmp esi, 7
je 0x4065cc
cmp esi, 8
je 0x4065cc
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [ebp + 0x10], edi
mov dword [esp + 8], eax
jmp 0x4054ba
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], 0x16
test esi, esi
jne 0x405d52
cmp edi, 0x4c7488
je 0x4058bb
cmp dword [edi + 0xc], 4
je 0x405cd7
mov esi, dword [edi + 8]
test esi, esi
jne 0x405ce9
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x43e917
push 0x4c7488
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.00404e60
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 8]
mov eax, dword [ebp + 0xc]
inc esi
mov dword [esp + 0x20], esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp esi, 1
jne 0x405d9e
mov esi, edi
mov ecx, dword [esi + 8]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
test ecx, ecx
jne 0x43ead3
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x43eae5
mov eax, dword [esp + 0x34]
mov dword [esi + 0xc], 1
mov esi, dword [0x4c7270]
mov dword [esp + 0x38], esi
test esi, esi
je 0x43efd7
mov ecx, dword [0x4c7440]
mov byte [esp + 0x13], 0
test cl, 1
je 0x43edab
mov dword [0x4c7460], 0
mov dword [0x4c745c], 0
mov dword [esp + 0x54], 0x4c7444
mov dword [esp + 0x5c], 0x4c7444
nop
mov edx, dword [eax + 4]
mov ecx, dword [esi + 4]
mov dword [esp + 0x40], edx
test edx, edx
je 0x43edde
test ecx, ecx
je 0x43ede6
cmp edx, ecx
jb 0x405b0f
mov ecx, dword [esp + 0x38]
mov esi, edx
mov edx, dword [eax]
mov ecx, dword [ecx]
test esi, esi
je 0x4059a5
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x405b5c
add edx, 2
add ecx, 2
dec esi
jne 0x405990
xor eax, eax
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
test eax, eax
js 0x405b67
jg 0x405a49
mov byte [esp + 0x13], 1
cmp byte [esp + 0x13], 0
mov ecx, dword [esp + 0x5c]
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x4c7270]
mov ecx, dword [esp + 0x54]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c7270]
mov eax, dword [0x4c7460]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c7270]
mov eax, dword [0x4c745c]
mov dword [ecx + 0x1c], eax
je 0x43efd7
mov eax, dword [0x4c7270]
test eax, eax
je 0x43efd7
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x40549b
jmp 0x43efd7
mov eax, dword [edx + 4]
jmp 0x405534
lea eax, [esi + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [eax]
test eax, eax
je 0x4059c2
mov ecx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
cmp ecx, edx
jbe 0x405a6b
mov ecx, edx
mov dword [esp + 0x3c], edx
mov edx, dword [eax]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
test eax, eax
je 0x405a98
nop
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x405aa0
add edx, 2
add ecx, 2
dec dword [esp + 0x34]
jne 0x405a80
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
jb 0x405aa2
jmp 0x405ac5
jae 0x405ac5
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx]
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [0x4c7270]
mov dword [esi + 0x18], eax
mov dword [0x4c7270], esi
cmp dword [esi + 0x1c], 0
je 0x4059c2
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0x1c], esi
mov eax, dword [0x4c7270]
mov dword [esp + 0x5c], eax
mov esi, dword [eax + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], esi
mov dword [0x4c7270], esi
jmp 0x405960
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00406e30
test eax, eax
js 0x43e5c1
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
jmp 0x405522
mov edi, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp + 0x30], eax
mov eax, dword [edi]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x405d2d
lea ebx, [ebx]
mov edi, dword [esp + 0x30]
mov ax, word [eax]
cmp ax, word [edi]
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x3c]
je 0x405d1a
mov ax, word [eax]
mov ecx, dword [esp + 0x30]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4059af
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4059a7
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x18]
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x4059c2
mov eax, dword [ecx + 4]
cmp edx, eax
ja 0x4066ef
mov edi, dword [esp + 0x18]
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, dword [edi]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x3c], eax
test edx, edx
je 0x405bc5
nop
mov edi, dword [esp + 0x30]
mov ax, word [eax]
cmp ax, word [edi]
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x3c]
jne 0x405bcc
add dword [esp + 0x30], 2
add eax, 2
dec dword [esp + 0x34]
mov dword [esp + 0x3c], eax
jne 0x405ba0
cmp edx, dword [ecx + 4]
jb 0x405bd8
jmp 0x405bfb
mov edx, dword [esp + 0x30]
mov ax, word [eax]
cmp ax, word [edx]
jae 0x405bfb
mov esi, ecx
mov ecx, dword [esp + 0x40]
mov eax, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [0x4c7270]
mov dword [esi + 0x1c], eax
mov dword [0x4c7270], esi
cmp dword [esi + 0x18], 0
je 0x4059c2
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x18], esi
mov eax, dword [0x4c7270]
mov dword [esp + 0x54], eax
mov esi, dword [eax + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], esi
mov dword [0x4c7270], esi
jmp 0x405960
cmp byte [esp + 0x29], 0
jne 0x4062c4
push 0x18
call fcn.00420f16
mov esi, eax
add esp, 4
test esi, esi
cmp byte [esp + 0x29], 0
jne 0x406b26
mov dword [esp + 0x70], eax
jmp 0x4055fc
mov edi, dword [esp + 8]
mov esi, dword [edi + 8]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x78], eax
test esi, esi
jne 0x406716
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x40689b
push edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.00420f8c
mov eax, dword [esp + 0x7c]
add esp, 4
mov edi, eax
test eax, eax
jne 0x405c85
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
jmp 0x405569
cmp dword [0x4c7494], 4
jne 0x405887
jmp 0x43e8ea
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x43e8fd
push esi
call fcn.00420f8c
add esp, 4
mov dword [edi + 8], 0
jmp 0x405892
add dword [esp + 0x30], 2
add eax, 2
mov dword [esp + 0x3c], eax
dec ecx
jne 0x405b30
xor eax, eax
jmp 0x4059af
lea eax, [ecx + 1]
mov esi, 0xd
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
mov dword [edx], esi
mov byte [esp + 0x51], 0
jmp 0x405834
cmp byte [esp + 0x29], 0
jne 0x406459
push 0x18
call fcn.00420f16
mov esi, eax
add esp, 4
test esi, esi
je 0x406b10
push 0x4c7488
mov ecx, esi
mov dword [esi + 8], 0
call fcn.00404e60
mov eax, dword [esp + 8]
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x20]
mov dword [esp + 8], edx
mov dword [esp + 0x24], edx
jmp 0x4058bf
cmp byte [esp + 0x29], 0
jne 0x406b17
mov esi, edx
jmp 0x4058dd
test cl, cl
je 0x406317
mov eax, dword [edx + 4]
cmp dword [eax], 0x12
je 0x405e3a
test cl, cl
jne 0x406451
cmp dword [edx], 0x14
je 0x406b4e
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00406e30
test eax, eax
js 0x43e5c1
mov edx, dword [esp + 0x4c]
mov cl, byte [esp + 0x51]
mov dword [esp + 0x2c], edx
jmp case.0x4057fe.2
test ecx, ecx
je 0x405e16
mov eax, dword [esi + ecx*4 - 4]
movzx eax, word [eax + 8]
cmp ax, 0x48
je 0x43e4f6
cmp ax, 0x4f
je 0x43e4f6
lea eax, [ecx + 1]
mov esi, 0x12
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
lea eax, [ecx + 1]
mov esi, 0x13
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
test cl, cl
je 0x405e58
mov esi, dword [edx + 4]
push edx
call fcn.00420f8c
mov edx, esi
add esp, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], edx
cmp byte [esp + 0x50], 0
je 0x43edf3
mov byte [esp + 0x51], 1
dec dword [esp + 0x48]
jmp case.0x4057fe.3
lea eax, [ecx + 1]
mov esi, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], 0x16
test esi, esi
je 0x40677a
cmp byte [esp + 0x29], 0
jne 0x40681e
push 0x18
call fcn.00420f16
mov esi, eax
add esp, 4
test esi, esi
je 0x406ae2
push 0x4c7488
mov ecx, esi
mov dword [esi + 8], 0
call fcn.00404e60
mov eax, dword [esp + 8]
mov dword [esi + 0x10], eax
mov eax, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 8]
inc esi
mov dword [esp + 0x20], esi
mov esi, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esi]
mov eax, dword [edx + ecx*4 + 4]
cmp word [eax + 8], 0x47
jne 0x43e13e
cmp dword [esp + 0x20], 1
je 0x4067a8
cmp byte [esp + 0x29], 0
mov eax, dword [esp + 8]
jne 0x406ae9
mov dword [esp + 0x18], eax
mov dword [esp + 0x60], 0x49098c
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov eax, dword [edx + ecx*4]
mov esi, dword [eax]
movsx eax, word [eax + 0xa]
mov dword [esp + 0x34], eax
mov eax, dword [0x4c7464]
mov dword [esp + 0x30], esi
test al, 1
je 0x43e15a
mov ecx, dword [esp + 0xc]
cmp esi, dword [0x4c7468]
je 0x43e198
add ecx, 0x470
push esi
call fcn.00416060
mov edx, dword [ebp + 8]
mov al, byte [eax + 0x20]
mov byte [esp + 0x13], al
mov eax, dword [ebp + 0xc]
inc dword [eax]
mov ecx, dword [eax]
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x47
jne 0x406b46
mov edx, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [esp + 0x40], eax
xor esi, esi
mov dword [esp + 0x74], eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, eax
mov eax, dword [edx + ecx*4]
movsx eax, word [eax + 8]
sub eax, 0x47
je 0x4064b5
dec eax
je 0x405fcf
sub eax, 0x37
je 0x43eefc
lea eax, [ecx + 1]
jmp 0x405fa7
test esi, esi
jne 0x4064ac
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x38], esi
mov ecx, dword [edx]
mov dword [esp + 0x70], ecx
lea eax, [ecx + 1]
mov dword [edx], eax
cmp dword [esp + 0x40], ecx
jae 0x4060ff
jmp 0x406000
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 1
cmp dword [esp + 0x68], eax
jne 0x406066
add eax, eax
cmp eax, 8
jae 0x406037
mov eax, 8
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00420f16
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x43e1bf
mov dword [esp + 0x64], esi
push 0x10
call fcn.00420f16
mov esi, eax
add esp, 4
test esi, esi
je 0x406af1
lea eax, [esp + 0x80]
mov dword [esi + 8], 0
push eax
mov ecx, esi
call fcn.00404e60
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x70]
inc ecx
cmp byte [esp + 0x13], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x68], ecx
push esi
jne 0x406a9b
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x7c]
push eax
push dword [ebp + 8]
call fcn.004053b0
test eax, eax
js 0x43ef29
inc dword [esp + 0x38]
mov ecx, dword [esp + 0x74]
cmp ecx, esi
jne 0x40673c
mov dword [esp + 0x8c], 1
mov dword [esp + 0x80], 0
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
push dword [esp + 0x30]
lea ecx, [ecx + 0x470]
call fcn.00416060
cmp esi, dword [eax + 0x18]
jl 0x406b3b
mov ecx, dword [esp + 0xc]
push dword [esp + 0x30]
lea ecx, [ecx + 0x470]
call fcn.00416060
cmp esi, dword [eax + 0x1c]
jg 0x406b3b
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x43e1ea
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x43e1fc
mov edx, dword [esp + 0xc]
mov dword [esi + 0xc], 1
mov dword [esi], 1
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx + 8]
add ecx, edx
cmp byte [ecx + 0xd], 0
jne 0x406af8
mov dword [eax + 0x14], 0
cmp byte [ecx + 0xd], 0
mov eax, dword [ecx + 8]
jne 0x406b00
mov byte [eax + 0x18], 0
mov eax, dword [edx]
mov eax, dword [eax + 4]
add eax, edx
mov dword [esp + 0x34], eax
cmp byte [eax + 0xd], 0
jne 0x43e2be
mov esi, dword [eax + 8]
mov ecx, dword [esi + 0x28]
test ecx, ecx
jne 0x43e2c9
mov eax, dword [esi + 0x2c]
cmp eax, 5
jge 0x43e2df
mov eax, dword [esp + 0x34]
mov dword [esi + 0x2c], 1
mov dword [esi + 0x20], 0
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x406b08
push dword [esp + 0x30]
lea ecx, [edx + 0x470]
mov byte [eax + 0x30], 0
call fcn.00416060
push dword [esp + 0x18]
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0xc]
lea eax, [esp + 0x64]
push eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, dword [ecx + eax]
add ecx, edx
add ecx, dword [esp + 0x14]
call esi
test eax, eax
js 0x43ef1b
xor esi, esi
mov dword [esp + 0x60], 0x49098c
cmp dword [esp + 0x68], esi
jbe 0x406262
lea esp, [esp]
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x406254
call fcn.00405190
push dword [esp + 0x40]
call fcn.00420f8c
mov eax, dword [esp + 0x68]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
cmp esi, dword [esp + 0x68]
jb 0x406230
push dword [esp + 0x64]
mov dword [esp + 0x6c], 0
call fcn.00420f8c
add esp, 4
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xf8], 1
je 0x43f003
mov esi, dword [ebp + 0xc]
jmp 0x4054ba
mov eax, dword [esp + 0x14]
cmp eax, 0x16
jne 0x40652c
lea eax, [ecx + 1]
mov dword [esp + 0x14], 0xb
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
mov dword [ecx], eax
jmp 0x405522
lea eax, [ecx + 1]
xor esi, esi
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
mov eax, dword [esp + 8]
cmp eax, 0x4c7488
je 0x40630d
cmp dword [eax + 0xc], 4
je 0x4069ed
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x4069ff
mov eax, dword [eax + 0xc]
cmp eax, 5
jge 0x43ec7c
mov eax, dword [esp + 8]
mov ecx, eax
push 0x4c7488
mov dword [eax + 0xc], 1
mov dword [eax], 0
call fcn.00404e60
mov byte [esp + 0x29], 0
jmp 0x4055e6
mov eax, edx
jmp 0x405dbb
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], 0x16
test esi, esi
jne 0x406578
cmp edi, 0x4c7488
je 0x406374
cmp dword [edi + 0xc], 4
je 0x406a77
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x406a89
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x43df09
push 0x4c7488
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.00404e60
mov edx, dword [esp + 8]
mov eax, dword [ebp + 0xc]
inc esi
mov dword [esp + 0x20], esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp esi, 1
jne 0x4065ba
mov esi, edi
cmp dword [esi + 0xc], 4
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], eax
je 0x43dfd4
test ecx, ecx
jne 0x43dfdf
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x43dff1
push 0x10
mov dword [esi], 0
mov dword [esi + 0xc], 4
call fcn.00420f16
mov edx, eax
add esp, 4
test edx, edx
je 0x406adb
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
inc dword [eax]
mov dword [esi + 8], edx
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
inc dword [esi]
cmp byte [eax + 0xfd], 0
jne 0x43e0a2
cmp byte [eax + 0xfe], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
je 0x4054c0
jmp 0x43e0ba
mov eax, dword [esp + 0x14]
cmp eax, 0x16
jne 0x4066f6
mov dword [esp + 0x14], 0xc
mov esi, dword [esp + 0x14]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x405522
mov edx, dword [edx + 4]
jmp 0x405dc8
mov eax, dword [esp + 8]
cmp eax, 0x4c7488
je 0x4064a2
cmp dword [eax + 0xc], 4
je 0x43e9bd
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x43e9dd
mov eax, dword [eax + 0xc]
cmp eax, 5
jge 0x43e9f3
mov eax, dword [esp + 8]
mov ecx, eax
push 0x4c7488
mov dword [eax + 0xc], 1
mov dword [eax], 0
call fcn.00404e60
mov byte [esp + 0x29], 0
jmp 0x4058bb
dec esi
lea eax, [ecx + 1]
jmp 0x405fa7
inc esi
lea eax, [ecx + 1]
jmp 0x405fa7
lea eax, [ecx + 1]
mov esi, 0xe
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
cmp dword [0x4c7494], 4
jne 0x4055b2
jmp 0x43eb96
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x43eba9
push esi
call fcn.00420f8c
add esp, 4
mov dword [edi + 8], 0
jmp 0x4055bd
lea eax, [ecx + 1]
mov esi, 9
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
cmp eax, 0x13
je 0x40629c
lea eax, [ecx + 1]
mov dword [esp + 0x14], 0x11
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
mov dword [ecx], eax
jmp 0x405522
dec eax
cmp eax, 0x29
ja case.0x40655f.4
movzx eax, byte [eax + 0x406c80]
jmp dword [eax*4 + 0x406c60]
lea eax, [ecx + 1]
mov esi, 7
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
cmp byte [esp + 0x29], 0
je 0x4067c3
mov eax, dword [esp + 8]
cmp eax, 0x4c7488
je 0x4065b0
cmp dword [0x4c7494], 4
je 0x4069cc
mov ecx, eax
call fcn.00404dc0
mov ecx, dword [esp + 8]
push 0x4c7488
call fcn.00404e60
mov byte [esp + 0x29], 0
jmp 0x406374
cmp byte [esp + 0x29], 0
jne 0x406ad3
mov esi, edx
jmp 0x406396
mov eax, dword [esp + 0x20]
test eax, eax
je 0x40584a
mov edi, dword [esp + 0x1c]
cmp eax, 1
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [ebp + 0x10], edi
jne 0x43ee17
mov eax, edi
push eax
lea ecx, [esp + 0xe4]
mov dword [esp + 0xec], 0
call fcn.00404e60
lea ecx, [esp + 0xe0]
call fcn.00404729
test al, al
jne 0x40691d
cmp esi, 7
jne 0x4066d5
mov eax, dword [ebp + 8]
xor esi, esi
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [ecx]
mov edx, dword [eax + ecx*4]
movsx eax, word [edx + 8]
cmp eax, 0x47
je 0x406b35
or dword [ebx - 0x40f077ec], ecx
inc edx
or byte [ebx - 0x7bf0b808], al
in eax, dx
add al, 0
add byte [ebx - 0x7bf0b708], al
fld dword [edi - 0x77cfffd]
jg 0x406664
cmp eax, 0x48
je 0x43ee2a
cmp eax, 0x7f
je 0x43ee50
test dh, dh
xchg dword [ebx], eax
add byte [ebp - 0x7af68a0a], al
sal byte [ebx + edx - 0x7d], 0xf8
test esi, esi
jne 0x406667
test eax, eax
je 0x406675
cmp eax, 0x40
inc eax
je 0x406689
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
jmp 0x406636
mov eax, dword [edx]
cmp eax, 4
jl 0x43ee36
cmp eax, 0x27
jge 0x43ee36
cmp dword [esp + 0x14], 8
je 0x43ee87
cmp dword [esp + 0x20], 1
jne 0x43eea5
mov esi, edi
mov ecx, esi
call fcn.00404dc0
mov dword [esi + 0xc], 9
mov byte [esi], 0
cmp byte [esp + 0x51], 0
mov eax, dword [esp + 0x2c]
jne 0x43eec1
cmp byte [esp + 0x50], 0
je 0x43eedc
mov byte [esp + 0x51], 1
dec dword [esp + 0x48]
lea ecx, [esp + 0xe0]
call fcn.00404dc0
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
jmp 0x4054c0
mov edx, eax
jmp 0x405b84
cmp eax, 0x13
je 0x406438
jmp 0x43e462
add byte [ebp + 0x5be0141], cl
add byte [eax], al
add byte [ebx + 0x1890c4d], cl
lea eax, [ecx + 1]
mov esi, 5
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
out dx, al
invalid
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x406881
push esi
call fcn.00420f8c
add esp, 4
mov dword [edi + 8], 0
jmp 0x405c97
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x40
jne 0x43ef37
lea eax, [ecx + 1]
cmp eax, esi
je 0x43ef37
lea ecx, [esp + 0x80]
mov dword [esp + 0x74], eax
call fcn.00404dc0
cmp dword [esp + 0x74], esi
jb 0x406000
jmp 0x4060fb
cmp edi, 0x4c7488
je 0x405ede
cmp dword [edi + 0xc], 4
je 0x4069db
mov ecx, edi
call fcn.00404dc0
push 0x4c7488
mov ecx, edi
call fcn.00404e60
jmp 0x405ede
mov dword [esp + 0x18], edi
jmp 0x405f1b
lea eax, [ecx + 1]
mov esi, 2
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
push 0x18
call fcn.00420f16
mov esi, eax
add esp, 4
test esi, esi
je 0x406acc
push 0x4c7488
mov ecx, esi
mov dword [esi + 8], 0
call fcn.00404e60
mov eax, dword [esp + 8]
test eax, eax
jne 0x406933
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x20]
mov dword [esp + 8], edx
mov dword [esp + 0x24], edx
jmp 0x406378
lea eax, [ecx + 1]
mov esi, 4
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
mov ecx, dword [esp + 8]
push 0x4c7488
call fcn.0040523c
mov byte [esp + 0x29], 0
jmp 0x405ede
push 0x4c7488
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0x16
call fcn.0040373a
lea ecx, [esp + 0x1c]
call fcn.00403724
mov esi, eax
mov ecx, esi
call fcn.00404dc0
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [esi + 0xc], 9
mov byte [esi], 0
mov esi, dword [ebp + 0xc]
mov dword [ebp + 0x10], edi
mov dword [esp + 8], eax
inc dword [esi]
jmp 0x4054ba
push dword [esi]
call fcn.00420f8c
add esp, 4
push dword [esi + 0xc]
call fcn.00420f8c
add esp, 4
jmp 0x406727
sub eax, 5
cmp eax, 0xa
ja case.0x4068a7.6
jmp dword [eax*4 + 0x406cac]
push 0x4c7488
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0x16
call fcn.0040373a
lea ecx, [esp + 0x1c]
call fcn.00403724
mov esi, eax
mov ecx, esi
call fcn.00404dc0
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [esi + 0xc], 9
mov byte [esi], 1
mov esi, dword [ebp + 0xc]
mov dword [ebp + 0x10], edi
mov dword [esp + 8], eax
inc dword [esi]
jmp 0x4054ba
lea eax, [ecx + 1]
mov esi, 3
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
lea eax, [ecx + 1]
mov esi, 8
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40551e
cmp esi, 8
je 0x406627
test al, al
jne 0x4066d5
jmp 0x40661e
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x20]
mov dword [esp + 8], edx
mov dword [esp + 0x24], edx
jmp 0x406378
push 0x4c7488
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0x16
call fcn.0040373a
mov esi, dword [ebp + 0xc]
lea ecx, [esp + 0x1c]
mov edi, dword [ebp + 8]
mov edx, dword [esi]
lea eax, [edx + 1]
mov dword [esi], eax
mov eax, dword [edi + 4]
mov edx, dword [eax + edx*4]
call fcn.00403724
mov ecx, dword [esp + 0xc]
push eax
push dword [edx]
call fcn.00407b3f
test eax, eax
jns 0x40584d
jmp 0x43ef8c
cmp dword [eax + 0xc], 4
jne 0x40659b
jmp 0x43dfc1
cmp dword [0x4c7494], 4
jne 0x406790
jmp 0x43e12b
cmp dword [0x4c7494], 4
jne 0x4062d9
jmp 0x43ec69
push ecx
call fcn.004115f4
mov eax, dword [esp + 8]
mov dword [eax + 8], 0
jmp 0x4062e4
push 0x4c7488
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0x16
call fcn.0040373a
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x1c]
fld qword [eax]
fstp qword [esp + 0x40]
call fcn.00403724
mov esi, eax
mov ecx, esi
call fcn.00404dc0
fld qword [esp + 0x40]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
fstp qword [esi]
mov dword [esi + 0xc], 3
mov esi, dword [ebp + 0xc]
mov dword [ebp + 0x10], edi
mov dword [esp + 8], eax
inc dword [esi]
jmp 0x4054ba
cmp dword [0x4c7494], 4
jne 0x406344
jmp 0x43def6
push ecx
call fcn.004115f4
mov dword [edi + 8], 0
jmp 0x40634f
push 0
push 0
push 0x100
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x88]
push eax
push dword [ebp + 8]
call fcn.0040a9de
jmp 0x4060cd
xor esi, esi
jmp 0x4067ea
mov esi, dword [edx + 0x10]
jmp 0x406396
xor edx, edx
jmp 0x4063fa
xor esi, esi
jmp 0x405ec9
mov eax, dword [eax + 0x10]
jmp 0x405f17
xor esi, esi
jmp 0x406090
mov eax, dword [eax + 0x38]
jmp 0x406178
mov eax, dword [eax + 0x38]
jmp 0x40618c
mov eax, dword [eax + 0x38]
jmp 0x4061de
invalid
xor esi, esi
jmp 0x405d84
mov esi, dword [edx + 0x10]
jmp 0x4058dd
mov eax, dword [eax + 0x10]
jmp 0x405c78
xor ecx, ecx
jmp 0x405823
inc esi
jmp 0x40665a
push dword [esp + 0x34]
push 0x70
jmp 0x43ef12
mov eax, dword [edx + 4]
jmp 0x43ef07
push dword [esp + 0x58]
push 0x6d
jmp 0x43f095
push dword [esp + 0x58]
push 0x6b
jmp 0x43f07f
push dword [esp + 0x58]
push 0x6c
jmp 0x43f07f
push dword [esp + 0x58]
push 0x6e
jmp 0x43f095
inc ebx
add byte [edi], dh
inc ebx
add byte [ecx], bl
push ebp
inc eax
add byte [eax], al
add dword [edx], eax
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add eax, dword [eax - 704673018]
invalid
pop edi
pop esi
pop ebx
pop ebp
ret 4
mov bh, 0xd0
add dword [eax], eax
add byte [ebx - 0x20801732], cl
invalid
movzx eax, byte [edi + 0x2dc]
lea ecx, [edi + 0x1f0]
add byte [eax], al
push eax
movzx eax, byte [edi + 0x2dd]
push eax
push dword [edi + 0x2d4]
lea eax, [edi + 0x1e0]
push ebx
push eax
push dword [esi + 8]
call fcn.00420354
jmp 0x406da4
test eax, eax
jns 0x406ee2
add byte [ebx - 0x7bf0fe07], al
xchg byte [edx], cl
add byte [eax], al
cmp byte [ebx + 0xd], 0
jne 0x40753d
mov edi, dword [ebx + 8]
cmp ecx, 2
je 0x4071e8
cmp byte [ebx + 0xd], 0
mov eax, dword [ebx + 8]
jne 0x4075ac
mov esi, dword [eax + 0x10]
mov ecx, dword [esi + 0xc]
mov eax, ecx
cmp eax, 3
jne 0x4071ef
mov eax, dword [edi + 0xc]
cmp eax, ecx
jne 0x407420
or al, 0x3b
ror dword [edi], 0x85
xor eax, 0xdd000005
pop es
fld qword [edi]
fmul qword [esi]
fstp qword [esi]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x43f781
cmp dword [ebx + 4], 1
je 0x406fe9
cmp byte [ebx + 0xd], 0
jne 0x4071c2
cmp byte [ebx + 0xc], 0
je 0x43f5a8
dec dword [ebx + 4]
xor eax, eax
mov byte [ebx + 0xd], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [esi], 0
mov byte [esi], 0
mov dword [esi + 0xc], 9
cmp dword [ebx + 4], 1
je 0x406fe9
cmp byte [ebx + 0xd], 0
jne 0x43fadb
cmp byte [ebx + 0xc], 0
je 0x43f5a8
mov byte [ebx + 0xd], 1
dec dword [ebx + 4]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
or eax, 0xca850f00
mov al, byte [ebx]
add byte [ebx - 0x67cf785], cl
add cl, byte [edi]
test dword [ebx + 8], esp
add byte [eax], al
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xc]
mov eax, edx
shl eax, 4
add eax, dword [edi + 0xc]
mov dword [ebp + 0xc], ecx
mov eax, dword [eax*4 + 0x4a5c28]
cmp eax, 3
jne 0x407756
fld1
fldz
cmp edx, eax
jne 0x43fb41
fld qword [ecx]
fst qword [ebp - 8]
mov eax, dword [edi + 0xc]
cmp eax, 3
jne 0x4074d0
fstp st(2)
fstp st(0)
fld qword [edi]
fcompp
fnstsw ax
test ah, 0x41
je 0x40730c
cmp dword [ebx + 4], 2
jne 0x4078b1
mov esi, dword [ebx]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x407812
mov eax, dword [esi + 0xc]
cmp eax, 5
jl 0x406fbb
jmp 0x43fc41
fstp qword [esi]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x43f4d6
cmp dword [ebx + 4], 1
je 0x406fe9
cmp byte [ebx + 0xd], 0
je 0x406fdb
mov esi, dword [ebx + 8]
mov edi, dword [esi + 0x10]
test esi, esi
je 0x40714f
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x43f4e8
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x43f4fa
push esi
mov dword [esi + 0xc], 1
mov dword [esi], 0
call fcn.00420f8c
add esp, 4
mov dword [ebx + 8], edi
mov byte [ebx + 0xd], 0
jmp 0x406fdb
add byte [eax], al
cmp byte [ebx + 0xd], 0
je 0x407450
mov eax, dword [ebx + 8]
mov edi, dword [eax + 0x10]
mov dword [ebp + 8], edi
cmp ecx, 2
jne 0x407327
mov esi, dword [ebx]
mov eax, dword [esi + 0xc]
mov dword [ebp + 0xc], esi
cmp eax, 3
jne 0x4073d5
mov eax, dword [edi + 0xc]
cmp eax, 3
jne 0x43f64a
fld qword [edi]
fsubr qword [esi]
fstp qword [esi]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x43f6b8
cmp dword [ebx + 4], 1
je 0x406fe9
cmp byte [ebx + 0xd], 0
je 0x406f10
mov esi, dword [ebx + 8]
mov edi, dword [esi + 0x10]
test esi, esi
je 0x4071dc
mov ecx, esi
call fcn.00404dc0
push esi
call fcn.00420f8c
add esp, 4
mov dword [ebx + 8], edi
mov byte [ebx + 0xd], 0
jmp 0x406f10
mov esi, dword [ebx]
jmp 0x406ed2
dec eax
cmp eax, 0xa
ja case.0x407200.3
movzx eax, byte [eax + 0x407a14]
jmp dword [eax*4 + 0x407a00]
mov eax, dword [edi + 0xc]
cmp eax, 1
je 0x4074a7
cmp eax, 2
je 0x43f6de
cmp ecx, 3
je 0x40723e
mov ecx, esi
call fcn.00405087
mov ecx, esi
fstp qword [ebp - 8]
call fcn.00404dc0
fld qword [ebp - 8]
fstp qword [esi]
mov dword [esi + 0xc], 3
mov ecx, edi
call fcn.00405087
jmp 0x406eed
push es
jmp 0x4070f7
call fcn.0040502b
mov ecx, edi
mov esi, eax
call fcn.0040502b
cmp esi, eax
jge case.0x407760.3
cmp dword [ebx + 4], 2
jne 0x43fc2f
mov esi, dword [ebx]
mov ecx, esi
call fcn.00404dc0
mov byte [esi], 1
jmp 0x406fc4
cmp byte [ebx + 0xd], 0
mov eax, dword [ebx + 8]
jne 0x407535
mov esi, dword [eax + 0x10]
jmp 0x407182
cmp eax, 1
jne 0x4076e6
mov ecx, dword [edi + 0xc]
cmp ecx, eax
je 0x4077a9
cmp ecx, 2
je 0x43f631
cmp eax, 3
je 0x407414
mov ecx, esi
call fcn.00405087
mov ecx, esi
fstp qword [ebp - 8]
call fcn.00404dc0
fld qword [ebp - 8]
fstp qword [esi]
mov dword [esi + 0xc], 3
mov ecx, edi
call fcn.00405087
jmp 0x40719f
dec eax
cmp eax, 9
ja case.0x40742a.3
jmp dword [eax*4 + 0x407a48]
fild dword [edi]
jmp 0x406eed
mov edi, dword [ebx + 8]
jmp 0x407174
mov eax, dword [edi]
mov edi, eax
imul dword [esi]
imul edi, dword [esi]
mov dword [ebp + 0xc], eax
mov ecx, edx
mov eax, edi
cdq
cmp eax, dword [ebp + 0xc]
jne 0x43f6ca
cmp edx, ecx
jne 0x43f6ca
mov dword [esi], edi
jmp case.0x407200.3
dec eax
cmp eax, 9
ja case.0x4074da.3
jmp dword [eax*4 + 0x407a70]
add ch, bl
fcmovu st(0), st(5)
fcomp st(3)
pop es
fstp st(2)
fstp st(0)
fild dword [edi]
jmp 0x40707c
or al, 0x8b
cli
mov eax, ecx
mov ecx, dword [ebp + 8]
cdq
add dword [ebp + 0xc], eax
mov eax, ecx
adc edi, edx
cdq
cmp eax, dword [ebp + 0xc]
jne 0x43f43b
cmp edx, edi
jne 0x43f43b
mov dword [esi], ecx
jmp case.0x40773b.3
mov eax, dword [eax + 0x10]
jmp 0x407334
mov eax, dword [ebx + 8]
mov edi, dword [eax + 0x10]
jmp 0x406eb9
mov eax, dword [eax + 0x10]
jmp 0x406ecf
sub eax, 2
cmp eax, 9
ja case.0x4076f9.3
movzx eax, byte [eax + 0x407ad0]
jmp dword [eax*4 + 0x407abc]
mov ecx, esi
call fcn.0040486a
push edi
mov ecx, esi
call fcn.00404a2b
jmp case.0x4076f9.3
mov ecx, esi
call fcn.0040486a
push edi
mov ecx, esi
call fcn.004049e0
jmp case.0x407200.3
dec eax
cmp eax, 8
ja case.0x407760.3
jmp dword [eax*4 + 0x407b04]
mov ecx, edi
call fcn.00404d37
mov esi, dword [edi + 8]
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.00404d37
mov ecx, dword [edi + 8]
push 0
push esi
call fcn.0041151f
test eax, eax
jns case.0x407760.3
jmp 0x40730c
mov eax, dword [ebp + 8]
mov edi, dword [esi]
mov ecx, edi
mov eax, dword [eax]
sub ecx, eax
cdq
mov dword [ebp - 4], ecx
mov esi, edx
mov ecx, eax
mov eax, edi
cdq
sub eax, ecx
mov edi, edx
mov ecx, dword [ebp - 4]
mov dword [ebp + 8], eax
sbb edi, esi
mov eax, ecx
cdq
cmp eax, dword [ebp + 8]
jne 0x43f61a
cmp edx, edi
jne 0x43f61a
mov esi, dword [ebp + 0xc]
mov dword [esi], ecx
jmp case.0x4076f9.3
push ecx
call fcn.004115f4
mov dword [esi + 8], 0
jmp 0x4070a0
cmp byte [ebx + 0xd], 0
mov eax, dword [ebx + 8]
jne 0x4079a6
mov esi, dword [eax + 0x10]
jmp 0x407095
fild qword [edi]
jmp 0x406eed
mov eax, dword [edi]
fild dword [eax + 4]
jmp 0x406eed
fldz
jmp 0x406eed
fstp st(2)
jmp 0x40707c
mov eax, dword [eax + 0x10]
jmp 0x4078be
inc esp
add byte [0x42004402], ch
cld
inc eax
jg 0x4085af
or eax, dword [ebx - 0x7d]
rol dword [ecx + ecx*4], 0x4d
or byte [ebx], bh
fidiv dword [edx - 0x3f]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
invalid
test dword [edx + 4], esp
add byte [eax], al
mov byte [ebp - 5], 0
mov edi, dword [ebp + 0xc]
and ebx, 3
mov edx, dword [ebp + 8]
mov dword [ebp + 0x10], ebx
inc dword [edi]
mov ecx, dword [edi]
mov eax, dword [edx + 4]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
cmp word [ecx + 8], 0
je 0x440ed6
mov eax, dword [0x4c746c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], 0
mov byte [ebp - 6], 0
test al, 1
je 0x408ac9
in al, 0
add byte [eax], al
add bh, al
inc ebp
hlt
mov ecx, dword [edi]
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x33
jne 0x4411a3
mov ebx, dword [eax]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], 0
cmp eax, 1
jne 0x408a26
cmp dword [0x4c7280], 0
je 0x408a38
cmp byte [0x4c7289], 0
jne 0x440f84
mov esi, dword [0x4c7284]
push esi
push ebx
call fcn.00403c30
test al, al
je 0x408a1c
mov ecx, dword [esi]
test ecx, ecx
je 0x408a1c
mov eax, dword [ecx + 0x10]
and eax, 0xff00
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x10], eax
hlt
test eax, eax
je 0x4089f0
mov eax, dword [ebp - 0xc]
test eax, 0x100
jne 0x441183
test eax, 0x400
jne 0x440f99
mov byte [ebp - 6], 1
mov ecx, dword [ebp + 0x10]
test cl, 1
je 0x408841
cmp ecx, 1
jne 0x440fc0
cmp dword [0x4c7280], 0
je 0x441024
cmp byte [0x4c7289], 0
jne 0x441038
mov esi, dword [0x4c7284]
push esi
push ebx
call fcn.00403c30
test al, al
je 0x40883e
mov ecx, dword [esi]
test ecx, ecx
je 0x40883e
mov eax, dword [ecx + 0x10]
and eax, 0xff00
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x40883e
test dword [ebp - 0xc], 0x200
jne 0x441124
mov ecx, dword [ebp + 0x10]
test cl, 2
jne 0x408a49
cmp byte [ebp - 5], 0
mov edx, dword [ebp - 0x10]
jne 0x441045
mov eax, dword [ebp + 8]
inc dword [edi]
mov ecx, dword [edi]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x4e
je 0x408a6f
mov eax, dword [ebp + 8]
mov ecx, dword [edi]
mov edx, dword [eax + 4]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x41
jne 0x4089b5
cmp byte [ebp - 5], 0
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, dword [edx + eax*4]
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x30], eax
jne 0x441163
cmp byte [ebp - 6], 0
mov esi, dword [ebp - 0x10]
je 0x4088cc
cmp esi, 0x4c7470
je 0x4088cc
cmp dword [esi + 0xc], 4
je 0x4410bf
mov ecx, esi
call fcn.00404dc0
push 0x4c7470
mov ecx, esi
call fcn.00404e60
mov ecx, dword [ebp + 8]
mov edx, dword [edi]
mov eax, dword [ecx + 4]
mov eax, dword [eax + edx*4]
cmp word [eax + 8], 0x4e
je 0x408af5
mov ecx, dword [ecx + 8]
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ecx
cmp edx, ecx
jae 0x408999
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
lea esi, [eax + edx*4]
mov edi, edi
mov edi, dword [esi]
movzx eax, word [edi + 8]
cmp ax, 0x33
je 0x408943
cmp ax, 0x4e
je 0x408940
cmp ax, 0x4f
je 0x408932
cmp ax, 0x47
je 0x408940
cmp ax, 0x48
je 0x408932
cmp ax, 0x40
je 0x408992
cmp ax, 0x7f
je 0x408996
jmp 0x408936
dec ebx
mov dword [ebp - 0x18], ebx
inc edx
add esi, 4
cmp edx, ecx
jb 0x408900
jmp 0x408996
inc ebx
jmp 0x408933
mov ecx, dword [edi]
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ecx + 4]
cmp ebx, dword [edi + 4]
je 0x408958
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
jmp 0x40890c
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov dword [ebp - 0x28], ecx
mov edi, dword [edi]
mov dword [ebp - 0x20], edi
mov edi, dword [esi]
test ebx, ebx
je 0x44114b
nop
mov edi, dword [ebp - 0x20]
mov cx, word [ecx]
cmp cx, word [edi]
mov edi, dword [esi]
jne 0x408950
mov ecx, dword [ebp - 0x28]
add dword [ebp - 0x20], 2
add ecx, 2
mov dword [ebp - 0x28], ecx
dec ebx
jne 0x408970
jmp 0x44114b
test ebx, ebx
jne 0x40892a
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
mov ecx, ebx
push 0xffffffffffffffff
push eax
push edi
push dword [ebp + 8]
call fcn.004053b0
test eax, eax
js 0x44115a
mov eax, dword [ebp + 8]
mov ecx, dword [edi]
mov edx, dword [eax + 4]
mov eax, dword [edx + ecx*4]
movzx eax, word [eax + 8]
cmp ax, 0x7f
je 0x408b44
cmp ax, 0x40
jne 0x44116e
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, dword [edx + eax*4]
cmp word [eax + 8], 0x33
je 0x408756
jmp 0x44119d
cmp byte [ebp - 5], 0
jne 0x44110a
push dword [ebp + 0x10]
push 0
push 0x4c7470
push ebx
call fcn.004039be
mov dword [ebp - 0x10], eax
cmp byte [ebp - 6], 0
je 0x40883e
jmp 0x4087dd
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x4087b8
sub eax, 0
je 0x408b4d
sub eax, 2
jne 0x440f42
lea eax, [ebp - 0xc]
mov ecx, 0x4c7270
push eax
push ebx
call fcn.00403f42
jmp 0x408a1e
push 1
lea eax, [ebp - 0xc]
push eax
push ebx
call fcn.00403938
test eax, eax
je 0x40884a
test dword [ebp - 0xc], 0x200
je 0x40884a
jmp 0x441124
xor esi, esi
mov edi, 1
cmp byte [ebp - 5], 0
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], edi
jne 0x441069
mov byte [ebp - 6], 0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x144]
push eax
push edx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040855e
test eax, eax
js 0x44113e
cmp byte [ebp - 5], 0
jne 0x441080
lea ecx, [ebp - 0x44]
call fcn.00404dc0
mov edi, dword [ebp + 0xc]
jmp 0x40886f
or eax, 1
mov ecx, 0x4c7470
push 0x490980
mov dword [0x4c746c], eax
call fcn.00405278
push 0x43b738
call fcn.00422ea0
mov edx, dword [ebp + 8]
add esp, 4
jmp 0x408743
cmp dword [esi + 0xc], 5
jne 0x4410df
push ebx
push dword [edi]
mov ebx, dword [ebp - 0x14]
push ecx
mov ecx, ebx
call fcn.004084e2
test eax, eax
js 0x408b44
mov eax, dword [ebp - 0x1c]
test eax, eax
jle 0x408b27
mov ecx, eax
lea edi, [ebp - 0x144]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0xc]
push 1
lea eax, [ebp - 0x144]
mov ecx, ebx
push eax
push esi
push edi
push dword [ebp + 8]
call fcn.0040835f
test al, al
jne 0x4089b5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [0x4c7280], 0
je 0x408a38
jmp 0x440f5e
invalid
inc ebp
loopne 0x40a3ab
dec ecx
add byte [ebx + 0x109e8b32], cl
add al, byte [eax]
add byte [ebx + 0x197d40fb], al
push ebp
sti
dec dword [ebx + 0x8ff0c46]
dec edi
cli
invalid
lea eax, [edi + 1]
mov dword [edx], eax
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
jbe 0x40a88d
invalid
mov dword [esp + 0x80], 7
mov dword [esp + 0x74], eax
call fcn.0040c236
push 1
lea eax, [esp + 0x74]
mov ecx, 0x4c7270
push eax
lea eax, [esp + 0x124]
push eax
call 0x3fe6a3
lea ecx, [esp + 0x11c]
call fcn.0040c4b6
lea ecx, [esp + 0x70]
call 0x3ff5c0
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x12c]
push 0x4a3ee4
mov dword [esp + 0x80], 7
mov dword [esp + 0x74], eax
call fcn.0040c236
push 1
lea eax, [esp + 0x74]
mov ecx, 0x4c7270
push eax
lea eax, [esp + 0x134]
push eax
call 0x3fe6a3
lea ecx, [esp + 0x12c]
call fcn.0040c4b6
mov byte [edi + 0x458], 1
mov ecx, edi
mov eax, dword [esi + 0x10]
push 0
push 1
inc eax
push eax
call fcn.004014d8
lea ecx, [esp + 0x70]
mov byte [edi + 0x458], 0
call 0x3ff5c0
lea ecx, [esp + 0xb8]
call fcn.0040c4b6
jmp 0x406713
jmp [edx + 1]
add byte [eax], al
jne 0x43dfd8
cmp dword [0x4c7420], 0x64
jge 0x43dfd8
inc dword [0x4c7420]
push 0
jmp 0x43dfda
push 0xa
call dword [0x49017c]
jmp 0x4065fa
add cl, ch
adc eax, 0x80fffc86
mov edi, 0x484
add dword [edi], ecx
test byte [eax], bh
xchg ah, bh
push dword [ebx]
rol dh, 0x87
test byte [eax + eax], al
add byte [ecx], al
push dword [edi + 0x188]
lea ecx, [esp + 0x100]
mov dword [esp + 0x88], 0
mov dword [esp + 0xa8], 0x49098c
mov dword [esp + 0x20], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
call fcn.004646c5
lea ecx, [edi + 0x184]
call fcn.0045868d
mov esi, dword [esp + 0x100]
lea ecx, [esp + 0x88]
mov dword [esp + 0x90], 0
push dword [esi]
call 0x3ff660
mov esi, dword [esi + 4]
mov ecx, esi
call 0x3ff537
push dword [esi + 8]
mov ecx, edi
call 0x3ffb76
mov edx, eax
mov dword [esp + 0x40], edx
mov ecx, dword [edx + 0x10]
push ecx
call fcn.0040d7a0
mov dword [edi + 0xf4], ecx
mov esi, 3
cmp dword [edx + 0x14], 0
mov dword [esp + 0x18], eax
jle 0x43e203
add byte [ebx + 0x1002494], cl
add byte [eax], al
mov edx, dword [esp + 0x100]
add edx, 8
mov dword [esp + 0x24], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + esi*4]
cmp word [eax + 8], 0
mov cl, 0x66
cmp dword [eax + 8], 0
jne 0x43e10a
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov eax, dword [edx + esi*4 + 4]
cmp word [eax + 8], 0x33
je 0x43e0e7
mov ecx, eax
mov eax, dword [edx + esi*4]
mov eax, dword [eax]
cmp eax, dword [ecx]
je 0x43e186
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + esi*4]
mov eax, dword [eax]
cmp eax, 0x24
je 0x43e0fa
cmp eax, 0x1e
jne 0x43e186
mov eax, dword [ecx + esi*4 + 4]
inc esi
cmp word [eax + 8], 0
je 0x43e0c9
mov edx, dword [esp + 0x24]
mov eax, dword [ecx + esi*4 + 4]
inc esi
cmp word [eax + 8], 0x41
jne 0x43e13a
mov edx, dword [esp + 0x14]
inc esi
xor ecx, ecx
mov eax, dword [edx + esi*4]
movzx eax, word [eax + 8]
cmp ax, 0x47
jne 0x43e12d
inc ecx
jmp 0x43e183
cmp ax, 0x48
jne 0x43e179
dec ecx
jns 0x43e183
mov edx, dword [esp + 0x24]
push dword [edx]
lea ecx, [esp + 0xa8]
call fcn.00451245
mov ecx, dword [esp + 0x84]
and al, 0xa8
add byte [eax], al
add al, ch
std
xor byte [ecx], al
add byte [ebx + 0x84248c], cl
add byte [eax], al
inc esi
mov eax, dword [esp + 0x40]
inc ecx
mov edx, dword [esp + 0x24]
add edx, 4
mov dword [esp + 0x84], ecx
mov dword [esp + 0x24], edx
cmp ecx, dword [eax + 0x14]
jge 0x43e1f4
ret 0x8904
mov eax, dword [esp + 0x18]
jmp 0x43e0b1
cmp ax, 0x40
jne 0x43e183
test ecx, ecx
je 0x43e136
inc esi
jmp 0x43e11d
mov eax, dword [esp + 0x18]
mov ecx, edi
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4 + 4]
movsx eax, word [eax + 0xa]
push eax
push 0x91
call fcn.00464afa
jmp 0x43e1c4
call fcn.0041b78c
add esp, 4
mov dword [esp + 0x34], 1
mov dword [esp + 0x28], 0
sub byte [eax], al
add byte [eax], al
add byte [ebp + 0x88248c], cl
add byte [eax], al
lea ecx, [esp + 0x88]
call 0x3ff990
lea ecx, [esp + 0xfc]
call fcn.004512d4
lea ecx, [esp + 0xa4]
call fcn.004512d4
mov byte [edi + 0x484], 0
test byte [eax + eax], al
add byte [eax], al
jmp 0x40662a
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x40]
push esp
and al, 0x40
mov dword [esp + 0x1c], eax
push dword [edx + 0x10]
call 0x3fe0ff
mov eax, dword [esp + 0x40]
mov esi, 3
mov dword [esp + 0x5c], esi
mov dword [esp + 0x14], 1
cmp dword [eax + 0x14], 1
jl 0x43e45e
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x44], edx
mov ecx, dword [eax + 4]
mov dword [esp + 8], ecx
mov eax, dword [ecx + esi*4]
cmp word [eax + 8], dx
jne 0x43e26b
mov eax, dword [ecx + esi*4]
mov eax, dword [eax]
cmp eax, 0x24
je 0x43e258
cmp eax, 0x1e
jne 0x43e259
mov edx, 0x100
inc esi
mov eax, dword [ecx + esi*4]
cmp word [eax + 8], 0
je 0x43e244
mov dword [esp + 0x44], edx
mov dword [esp + 0x5c], esi
mov edi, dword [esp + 8]
lea edx, [esi*4 + 4]
mov dword [esp + 0x24], 1
xor ecx, ecx
mov esi, dword [esp + 0x24]
mov eax, dword [edx + edi]
movzx eax, word [eax + 8]
cmp ax, 0x47
jne 0x43e297
inc ecx
jmp 0x43e372
cmp ax, 0x48
jne 0x43e364
dec ecx
jns 0x43e372
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x5c]
pop esp
cmp dword [esp + 0x14], eax
jle 0x43e41b
lea eax, [esi + 2]
mov dword [esp + 0x28], 0
mov dword [esp + 8], eax
mov ecx, edi
mov eax, dword [esp + 0x24]
add eax, esi
mov dword [esp + 0x30], 0
mov bh, 0x44
and al, 0x30
add byte [eax], al
add byte [eax], al
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x38], 1
push eax
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x24]
call 0x3ffbb0
test eax, eax
js 0x43e501
mov eax, dword [esp + 0x44]
or eax, 0x200
push 1
push eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
push dword [eax]
call 0x3fe1be
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x43e344
push ecx
call fcn.0040bdf4
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x34]
cmp eax, 5
jl 0x43e409
add eax, 0xfffffffb
cmp eax, 0xa
ja 0x43e409
jmp dword [eax*4 + 0x44446f]
cmp ax, 0x40
jne 0x43e372
test ecx, ecx
je 0x43e2a8
inc esi
add edx, 4
jmp 0x43e284
insd dword es:[edi], dx
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
test eax, eax
je 0x43e409
lea ecx, [eax + 8]
jmp 0x43e3f8
call fcn.0040c4b6
push dword [esp + 8]
call fcn.0041b78c
add esp, 4
mov dword [esp + 0x34], 1
mov dword [esp + 0x28], 0
jmp 0x43e438
mov eax, dword [esp + 0x1c]
or edx, 0x200
push 1
push edx
push dword [eax]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + esi*4]
push dword [eax]
call 0x3fe1be
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
inc eax
add dword [esp + 0x1c], 4
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x14]
jle 0x43e22a
push 0x4b8dac
lea ecx, [esp + 0x140]
add byte [ebp + 0x140248c], cl
add byte [eax], al
call fcn.0040c236
mov esi, dword [esp + 0x88]
xor eax, eax
cmp dword [esp + 0x94], 6
push 1
setne al
dec eax
and eax, esi
push 0
push eax
lea eax, [esp + 0x148]
push eax
call 0x3fe1be
lea ecx, [esp + 0x13c]
call fcn.0040c4b6
mov eax, dword [esp + 0x40]
mov ecx, edi
push 0
push 0
mov eax, dword [eax + 0x10]
inc eax
push eax
call fcn.004014d8
mov ecx, 0x4c7280
call 0x3fe240
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x43e4de
push ecx
call fcn.0040bdf4
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x94]
cmp eax, 5
jl 0x43e636
add eax, 0xfffffffb
cmp eax, 0xa
ja 0x43e636
cmp al, 1
add byte [eax], al
jmp dword [eax*4 + 0x44449b]
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x43e517
push ecx
call fcn.0040bdf4
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x34]
cmp eax, 5
jl 0x43e1b4
add eax, 0xfffffffb
cmp eax, 0xa
ja 0x43e1b4
jmp dword [eax*4 + 0x4444c7]
dec ebx
add al, 0xfc
invalid
sar ch, cl
inc dword [ebx + 0x74ff04c4]
and al, 0x28
jmp 0x43e1ac
sub byte [ebp + 0x12840fc9], al
cld
invalid
sti
invalid
lea ecx, [esp + 0xfc]
mov dword [esp + 0x94], 1
mov dword [esp + 0x88], 0
call fcn.004512d4
lea ecx, [esp + 0xa4]
call fcn.004512d4
and al, 0xa4
add byte [eax], al
add al, ch
jo 0x43e68e
add dword [eax], eax
mov byte [edi + 0x484], 0
jmp 0x406713
mov edx, 0x8dfffc7f
mov word [eax + edi*4], fs
add byte [eax], al
add al, ch
jle 0x43e65a
cld
dec dword [ebp + 0xb42484]
lea eax, [esp + 0xb4]
add byte [eax], al
mov ecx, 0x4c6890
push eax
call fcn.0045d21b
test al, al
je 0x43e77c
cmp dword [esp + 0xbc], 0
je 0x43e689
lea eax, [esp + 0xb8]
mov ecx, edi
push eax
call 0x3ffb76
mov esi, eax
test esi, esi
je 0x43e689
lea ecx, [esp + 0xe8]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 1
call 0x3ff5c0
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x10c]
push 0x4a3f04
mov dword [esp + 0xf8], 1
clc
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0xec2484], cl
add byte [eax], al
clc
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0xec2484], cl
add byte [eax], al
call fcn.0040c236
push 1
lea eax, [esp + 0xec]
mov ecx, 0x4c7270
push eax
lea eax, [esp + 0x114]
push eax
call 0x3fe6a3
dec dword [ebp + 0x10c248c]
add byte [eax], al
cld
jmp [edx + 1]
dec dword [ebp + 0x10c248c]
add byte [eax], al
call fcn.0040c4b6
mov byte [edi + 0x459], 1
mov ecx, edi
mov eax, dword [esi + 0x10]
push 0
push 1
inc eax
push eax
call fcn.004014d8
lea ecx, [esp + 0xe8]
mov byte [edi + 0x459], 0
call 0x3ff5c0
lea ecx, [esp + 0xb8]
call fcn.0040c4b6
jmp 0x406713
lea ecx, [esp + 0xb8]
call fcn.0040c4b6
jmp 0x406637
insb byte es:[edi], dx
add dword [ecx], ecx
mov dword [esp + 0xa0], eax
cmp eax, 0x102
je 0x406713
lea eax, [esp + 0xa0]
push eax
push dword [edi + 0x444]
call dword [0x490288]
push dword [edi + 0x444]
call dword [0x490358]
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
jmp 0x43e7f3
push eax
call dword [0x490358]
mov dword [edi + 0x448], 0
mov dword [esp + 8], 0
push ecx
lea eax, [esp + 0xc]
push eax
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.0041a48b
jmp 0x406b0e
ret 0xfc12
stc
popal
add al, byte [eax]
lea ecx, [esp + 0x48]
call 0x3ff990
jmp 0x406713
les eax, [edi + edi*8]
jbe 0x43e928
call fcn.0041b78c
add esp, 4
jmp 0x4069fa
inc dword [ebp - 0x2d7bf02e]
test dl, dl
jge 0x43e92c
call dword [edx - 1]
adc eax, 0x49045c
push dword [esp + 0x48]
jmp 0x43e9ae
call fcn.0041b78c
add esp, 4
jmp 0x406703
add eax, dword [ebx - 0x78f0fc08]
dec esp
jge 0x43e9c2
xchg dword [ebp + edi*2 - 4], ecx
invalid
add bl, ch
or dword [edx + 1], ebp
mov ecx, edi
call fcn.00401579
mov esi, eax
test esi, esi
js 0x43ea06
jg 0x406713
cld
invalid
jmp 0x43ea3f
mov eax, esi
neg eax
push 0
push eax
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.00451718
push ecx
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0
push eax
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.0041a48b
test esi, esi
je 0x406713
test esi, esi
jle 0x43eab8
mov eax, dword [edi + 0xf8]
cmp eax, 5
je 0x43ea4f
cmp eax, 3
jne 0x43eab8
mov eax, dword [edi + 0x1f0]
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 1
mov esi, dword [eax]
call 0x3ff5c0
push 0
lea eax, [esp + 0xdc]
mov dword [esp + 0xe8], 7
push eax
mov eax, dword [edi]
mov dword [esp + 0xe0], esi
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.004516c5
lea ecx, [esp + 0xd8]
call 0x3ff5c0
mov ecx, dword [edi + 0x2f4]
mov byte [edi + 0x144], 1
mov dword [edi + 0xf8], 0
call fcn.0045fe6c
jmp 0x406713
add cl, ch
cmp bh, byte [esp + edi*8 - 1]
push 0xa
call dword [0x49017c]
cmp dword [edi + 0x43c], 0
je 0x43eb16
add byte [eax], al
add byte [esp + ebp - 0x75], dh
pop dword [eax + 4]
add byte [eax], al
mov ecx, dword [edi + 0x440]
call fcn.0041af4e
test edx, edx
jl 0x43eb16
jg 0x43eb03
cmp eax, dword [edi + 0x43c]
jb 0x43eb16
mov eax, dword [edi + 0x448]
test eax, eax
je 0x43e7eb
jmp 0x43e7da
mov eax, dword [edi + 0xf8]
xor esi, esi
mov byte [esp + 0x23], 0
mov dword [esp + 8], esi
cmp eax, 8
jne 0x43eb54
lea eax, [esp + 0x23]
push eax
lea ecx, [edi + 0x42c]
lea edx, [esp + 0xc]
call fcn.0045e7b5
add esp, 4
cmp byte [esp + 0x23], 1
jne 0x406713
mov esi, dword [esp + 8]
jmp 0x43eb5d
cmp eax, 9
jne 0x406713
mov ecx, dword [edi + 0x448]
mov eax, 0xcccccccc
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x43ebb6
lea eax, [esp + 0x38]
push eax
push ecx
call dword [0x490288]
cmp dword [esp + 0x38], 0x103
jne 0x43eb9c
push 0
push dword [edi + 0x448]
call dword [0x49016c]
test eax, eax
jne 0x406713
push dword [edi + 0x448]
call dword [0x490358]
mov eax, dword [esp + 0x38]
inc esp
and al, 0x38
mov dword [edi + 0x448], 0
cmp dword [edi + 0xf8], 8
jne 0x43ebe9
mov dword [esp + 8], esi
fild dword [esp + 8]
test esi, esi
jns 0x43ebd1
fadd qword [0x4bae48]
push ecx
lea eax, [esp + 0xc]
push eax
mov eax, dword [edi]
fstp qword [esp + 0x10]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.004775de
jmp 0x43ebf8
push 0
push eax
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.0041a4d9
push dword [edi + 0x2f4]
mov byte [edi + 0x144], 1
mov dword [edi + 0xf8], 0
call dword [0x49017c]
jmp 0x406713
jmp 0x406742
cmp eax, dword [eax + eax + 9]
cmp al, 0x44
add byte [ebx + edi + 0x3bb50044], dl
inc esp
add dl, cl
cmp eax, dword [eax + eax - 0x16]
cmp eax, dword [eax + eax - 0x16]
cmp eax, dword [eax + eax - 0x26]
cmp eax, dword [eax + eax - 0x15]
cmp eax, 0x3e360044
inc esp
add byte [esi], dh
inc esp
add ch, dl
cmp eax, 0x3e360044
inc esp
add dl, ah
cmp eax, 0x3df90044
inc esp
add byte [esi], al
inc esp
add byte [edx], ah
inc esp
add byte [edx], ah
inc esp
add byte [esi + edi], dl
inc esp
add byte [edi + 0x3d], ah
inc esp
add byte [ecx + edi + 0x39b40044], dh
inc esp
add byte [edi], dh
cmp eax, 0x39b40044
inc esp
add byte [ebx + 0x3d], dl
inc esp
add byte [esi + 0x3d], bh
inc esp
add byte [esi - 0x3bffbbc3], dl
cmp eax, 0x3dc40044
inc esp
add byte [ebp - 0x8ffbbc3], ch
inc ecx
inc esp
add al, ah
inc ecx
inc esp
add dh, cl
inc ecx
inc esp
add bh, dl
inc ecx
inc esp
add byte [ebx + 0x204e8b30], cl
test ecx, ecx
je 0x43ed11
call fcn.00461e58
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x43ed1d
call fcn.00461e58
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 4]
call fcn.00451975
mov eax, dword [ebp - 4]
jmp 0x406c76
cld
dec dword [ebx - 0x3174ef8b]
call 0x3ff5c0
mov edx, dword [esp + 0x2c]
and dword [esi], ebx
push ds
mov dword [esi + 0xc], 1
push 0
mov eax, dword [edx]
push 2
mov ecx, dword [eax + 4]
add ecx, edx
call fcn.00451718
or esi, 0xffffffff
jmp 0x406e9e
xor ebx, ebx
jmp 0x43edb1
fisubr dword [edx + 5]
pop edi
lea ecx, [esp + 0x30]
push dword [eax + 4]
call 0x3ffa3c
mov ecx, dword [ebp + 0xc]
or al, 0xfc
dec dword [ebx + 0x418b0c4d]
add al, 0x8b
xor byte [ebx + 0x77ae8ce], cl
cld
dec dword [ebx + 0x88b0846]
mov eax, dword [ecx + 4]
mov esi, dword [eax]
mov ecx, esi
call 0x3ff537
mov eax, dword [esi + 8]
mov ecx, dword [eax]
call fcn.0040eb6a
mov ecx, dword [ebp + 0xc]
or esi, 0xffffffff
jmp 0x43ee06
inc esp
and al, 0x48
push 0x4b94cc
push eax
call fcn.0041dffa
add esp, 0xc
lea ecx, [esp + 0x44]
call fcn.0040eb6a
mov ecx, dword [ebp + 0xc]
jmp 0x43ee04
xor ebx, ebx
mov dword [esp + 0x14], eax
jmp 0x406dac
or bh, ah
dec dword [ecx - 0x74e7dbbc]
inc esp
and al, 0x10
jmp 0x406dbb
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + edx*4]
call 0x3ff82b
mov dword [esp + 0x1c], eax
inc esp
and al, 0x1c
mov eax, dword [esp + 0x10]
jmp 0x406dc6
retf 0xc2e8
dec ebp
mov eax, 0xfdb91de8
dec dword [ebp + 0x188bb84d]
call fcn.0041a7b9
mov eax, dword [ebp - 0x1c]
test eax, eax
js 0x43eea7
cmp esi, ebx
je 0x407162
cld
call dword [edi + 0x68]
mov bl, 0
add byte [eax], al
push edi
push 0xb3
jmp 0x43f008
jg 0x43ef1c
cmp word [eax + 8], cx
jne 0x43effb
mov eax, dword [ebp - 0x20]
dec eax
dec esi
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x20], eax
jne 0x43eee0
lea ebx, [esi + 1]
jmp 0x43eef5
pop esi
add ebx, ebp
adc eax, 0xe8c44d8d
ret
lea ecx, [ebp - 0x3c]
call fcn.0041a7ab
lea ecx, [ebp - 0x3c]
mov ebx, dword [eax]
call fcn.0041a7b9
mov eax, dword [ebp - 0x20]
test eax, eax
js 0x43ef01
cmp esi, ebx
je 0x407162
test byte [ecx - 0x7e], ah
cld
call dword [edi + 0x68]
cdq
add byte [eax], al
add cl, ch
cld
add byte [eax], al
add byte [ebx + 0x7400c47d], al
pop ds
push edi
push 0x99
jmp 0x43f008
lea ecx, [ebp - 0x3c]
call fcn.0041a7ab
mov edx, dword [ebp - 0xc]
lea ecx, [esi - 1]
push 0
pop ebx
cmp ecx, dword [eax]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
push ebp
hlt
dec ebp
cld
je 0x407025
cmp dword [ebp - 0x48], 0
je 0x43ef4a
lea ecx, [ebp - 0x48]
call fcn.0041a7ab
lea ecx, [esi - 1]
cmp ecx, dword [eax]
je 0x407162
push edi
push 0x98
jmp 0x43f008
add ebx, ebp
adc eax, 0xe8ac4d8d
adc al, 0xb8
std
dec dword [ebp + 0x188bac4d]
call fcn.0041a7b9
mov eax, dword [ebp - 0x18]
test eax, eax
js 0x43efb0
cmp esi, ebx
je 0x407162
push edi
push 0x68
jmp 0x43f008
add al, 0x8b
inc esp
mov byte [edi + ecx], al
mov edi, 0x68500a40
lahf
add byte [eax], al
add bl, ch
xor eax, 0xa16857
add byte [eax], al
jmp 0x43f008
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
movsx eax, word [eax + 0xa]
push eax
push 0x72
inc eax
or dl, byte [eax + 0x6a]
jb 0x43efc2
mov ecx, 0x4c6310
call fcn.00464afa
jmp 0x4072f0
adc byte [ebx + 0x4c], ah
add al, ch
call 0xe943f26d
fld dword [edx + 0x448dfffc]
and al, 0x18
push eax
lea eax, [esp + 0x14]
push eax
push edi
push 0
call fcn.0045149f
jmp 0x43f0a1
add al, ch
adc eax, 0x5000037c
push eax
lea eax, [esp + 0x14]
mov ecx, ebx
push eax
push edi
call fcn.004761ee
jmp 0x43f0a1
push eax
lea eax, [esp + 0x18]
push eax
push edi
call 0x3ffbb0
test eax, eax
js 0x4074e0
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x10]
add al, 0x8b
inc esp
and al, 0x10
mov eax, dword [ecx + eax*4]
cmp word [eax + 8], 0x7f
je 0x4074e0
movsx eax, word [eax + 0xa]
mov ecx, ebx
push eax
push 0x72
inc eax
or cl, byte [ebx + 0x726a50cb]
call fcn.00464afa
jmp 0x4074e0
cli
or cl, byte [edi]
xchg dword [esp + eax*4], ebx
cld
invalid
cld
call dword [esi - 1]
adc eax, 0x49045c
push dword [esp + 0x18]
jmp 0x43f166
je 0x4074f9
lea ecx, [esi + 8]
jmp 0x43f160
into
call 0x3fe9c4
jmp 0x4074f9
add al, 0xff
je 0x43f14d
sbb bl, ch
cmp al, byte [ebp - 0x3a7bf00a]
cmp esp, 0xffffffff
push ecx
mov ecx, esi
call fcn.0045207b
jmp 0x4074f9
aas
das
add dword [eax], eax
jmp 0x4074f9
call fcn.0040c4b6
push esi
call fcn.0041b78c
add esp, 4
jmp 0x4074f9
ja 0x407de3
mov dword [edi + 0x2d4], esi
jmp 0x407d65
add byte [ebx + 0x4c68a8], ah
test cl, 2
je 0x43f4ef
or eax, 2
mov byte [0x4c6895], dl
mov dword [0x4c68a8], eax
dec esp
add byte [ebx + 0x4c68a8], ah
test cl, 4
je 0x43f502
or eax, 4
mov byte [0x4c689a], dl
mov dword [0x4c68a8], eax
push 0xa8a3004c
push 0xc1f6004c
or byte [edi], cl
test byte [edx - 0x78], bl
cld
inc dword [ebx + 0x158808c8]
xchg edi, eax
push 0xa8a3004c
push 0x47e9004c
mov ah, bh
push dword [ebx]
ror byte [ebx - 0x77fac732], 0x62
dec esp
add byte [edi], cl
xchg esp, eax
ror byte [ecx - 0x17f3dbbc], 0x8c
add ah, bh
dec dword [ebx + 0x330c2444]
leave
inc ecx
mov dword [esi], eax
mov dword [esi + 0xc], ecx
cmp dword [esp + 0x20], ecx
jbe 0x407d65
test cl, 8
je 0x407d65
or eax, 8
mov byte [0x4c6897], dl
mov dword [0x4c68a8], eax
jmp 0x407d65
mov eax, dword [ebp + 8]
push 0x29
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
call 0x3ff94e
test al, al
je 0x43f56d
lea ecx, [esp + 0x28]
call 0x3ff82b
mov dword [esp + 0x18], eax
jmp 0x43f571
mov eax, dword [esp + 0x18]
mov ecx, 0x4c6890
test eax, eax
jne 0x43f584
call fcn.004101d3
jmp 0x407d65
call fcn.004102c3
jmp 0x407d65
or al, 0x89
xor byte [ecx], bh
dec esp
and al, 0x20
jbe 0x407d65
mov eax, dword [ebp + 8]
push 0x29
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
call 0x3ff94e
invalid
test al, al
je 0x43f5d4
inc dword [eax + eax*8 + 0x4c8d0b74]
and al, 0x28
lea ecx, [esp + 0x28]
call 0x3ff82b
jmp 0x43f5d8
invalid
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
jmp 0x407d65
test ecx, ebp
xchg esp, edi
invalid
and al, 0x1c
mov dword [eax + 0xc], 1
mov dword [eax], esi
lea eax, [esp + 0x14]
push eax
call fcn.0041b390
inc dword [esp + 0x14]
and al, 0x14
lea eax, [esp + 0x28]
pop ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x10]
push eax
call fcn.0041b390
cmp dword [esp + 0x24], 1
pop ecx
jbe 0x407d65
add dword [ecx + 0xf], ebx
xchg byte [ebx], dl
xchg esp, edi
dec dword [ebx + 0x296a0845]
mov eax, dword [ebp + 8]
push 0x29
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
call 0x3ff94e
test al, al
jne 0x43f690
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x14]
jl 0x43f67f
cmp ecx, dword [esp + 0x24]
jg 0x43f67f
mov edx, dword [esp + 0xc]
jmp 0x43f700
lea ecx, [esp + 0x28]
call fcn.004511da
test al, al
je 0x407de3
lea ecx, [esp + 0x28]
call 0x3ff82b
mov edx, dword [esp + 0xc]
jmp 0x43f725
push esp
and al, 0x10
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0xc], 1
mov dword [eax], esi
lea eax, [esp + 0x14]
and al, 0x14
push eax
call fcn.0041b390
cmp dword [esp + 0x24], 1
pop ecx
jbe 0x407d65
mov eax, dword [ebp + 8]
push 0x29
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
call 0x3ff94e
test al, al
jne 0x43f718
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x14]
jl 0x43f707
mov edx, dword [esp + 0xc]
and al, 0xc
mov dword [edx], ecx
jmp 0x407d65
lea ecx, [esp + 0x28]
call fcn.004511da
test al, al
je 0x407de3
lea ecx, [esp + 0x28]
call 0x3ff82b
mov edx, dword [esp + 0xc]
mov dword [edx], eax
jmp 0x407d65
adc al, 0x48
jne 0x43f749
mov eax, dword [ecx]
fild dword [eax + 4]
jmp 0x407e41
fldz
jmp 0x407e41
clc
call 0x3fde27
fild qword [ebp - 8]
pop ecx
jmp 0x407e41
call fcn.0041e699
pop ecx
jmp 0x407e41
pop edi
jmp 0x408539
jne 0x43fb10
mov ecx, esi
call 0x3ff5c0
and dword [esi], 0
xor eax, eax
inc eax
push 0
mov dword [esi + 0xc], eax
push eax
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.00451718
jmp 0x4087b1
mov eax, dword [edi]
push 0
push 1
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.00451718
mov esi, dword [ebp + 0xc]
mov ecx, esi
or al, 0x8b
into
call 0x3ff5c0
and dword [esi], 0
jmp 0x43fc9b
add byte [ebx + 0x88bb004], cl
test ecx, ecx
je 0x43fbdb
push ecx
call fcn.0041b4fc
mov eax, dword [edi + 0x1c4]
mov eax, dword [eax + esi*4]
and dword [eax], 0
jmp 0x4087b1
or al, ch
invalid
mov edx, dword [edi + 0x1c4]
mov eax, dword [edx]
cmp dword [eax], 0
je 0x4086f8
mov bh, ah
invalid
mov bh, ah
inc dword [ebx - 0x7d]
ret 0x3b04
inc ebx
add edx, 4
cmp ebx, ecx
jb 0x43fc1a
jmp 0x4086f8
mov bh, ah
invalid
std
dec dword [ebx + 0x3302ebc8]
leave
mov eax, dword [edi + 0x1c4]
mov eax, dword [eax + ebx*4]
mov dword [eax], ecx
jmp 0x40872b
mov dword [esi + 0xc], 1
jmp 0x4087b1
mov dword [ebp - 4], edx
cmp dword [ebp - 0x20], esi
jne 0x40a5d6
cmp edx, ebx
ja 0x40a5d6
cmp edx, dword [ebp - 0x110]
jbe 0x440f27
cmp word [edx - 2], 0xd
jne 0x440f27
cmp edx, ebx
jae 0x440f27
cmp word [edx], 0xa
jne 0x440f27
test dword [edi + 0xc], 0x800
jne 0x440f27
cmp ecx, 1
je 0x440f1f
cmp ecx, 2
je 0x440f1f
cmp dword [ebp - 0xe4], 2
jne 0x440f27
add edx, 2
mov dword [ebp - 4], edx
jmp 0x440f2a
mov edx, dword [ebp - 4]
mov dword [ebp - 0x50], esi
jmp 0x40a330
dec dword [ebx - 0x67ce3b3]
add dword [esi + 0x22], edi
mov edx, dword [ebp + 8]
sub ebx, edx
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp + 0x18]
sub edi, edx
sar edi, 1
sar ebx, 1
mov dword [eax], edi
mov dword [eax + 4], ebx
cmp ecx, 2
jle 0x440f6d
sub esi, edx
sar esi, 1
mov dword [eax + 8], esi
mov eax, 0xfffffff4
jmp 0x40a5f9
cmp ebx, 4
jl 0x440faa
lea eax, [ebx*4 - 8]
push eax
mov eax, dword [ebp - 0xf4]
add eax, 8
push eax
mov eax, dword [ebp + 0x18]
add eax, 8
push eax
call fcn.0041b7a0
add esp, 0xc
or byte [eax - 0x75], dl
inc ebp
sbb byte [ebx - 0x17aff740], al
stc
cmpsd dword [esi], dword es:[edi]
std
inc dword [ebx + 0x5d390cc4]
nop
cmp dword [ebp - 0x70], ebx
jle 0x440fb6
or dword [ebp - 0x6c], 0x10000
push dword [ebp - 0xf4]
call dword [0x4a6438]
add esp, 4
jmp 0x40a41b
dec edx
add byte [ebx + 0x51e904c4], al
xchg esp, eax
cld
invalid
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x50]
mov dword [edx], eax
jmp 0x40a47f
sbb dword [esi + 0x44], esp
add byte [edi], cl
inc sp
add bh, bh
inc esp
add byte [ecx], bl
inc sp
add byte [ebx - 0x72ffe783], al
dec ebp
sbb byte [ebp + 0x19], dh
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.0040a720
add esp, 0x14
jmp fcn.0040a89b
jmp [ebx]
mov eax, ecx
jmp fcn.0040a89b
inc ebp
adc al, 0x89
inc ebp
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x5c]
mov dword [ebp + 0x14], eax
mov dword [esi + 0x9c], 0
jmp 0x40a9fe
jmp 0x40a77f
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
jne 0x4410f5
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a720
add esp, 0x14
cmp eax, 1
je 0x441141
cmp eax, 0xfffffc20
jne 0x441121
cld
invalid
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae fcn.0040a89b
or dword [edi + edx*4 - 0x7c990004], 0x3b
ja 0x441188
cmp word [ebx], 0x77
je 0x441129
adc al, 0x66
cmp dword [ecx], 0x77
cmp word [ecx], 0x77
jne fcn.0040a89b
jmp 0x441129
test eax, eax
jne fcn.0040a89b
test dword [edx - 0x69], esi
cld
dec dword [edi]
mov bh, 0x43
add cl, byte [ebp - 0x4176bce4]
mov al, 0
add byte [eax], al
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x4410d3
mov ecx, dword [ebp + 8]
jmp 0x44114a
or bl, ch
or dword [ebx + 0x808e], ecx
add byte [ecx - 0x48f0f7b3], cl
add edi, dword [edx + 0x82]
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov bh, 3
mov edx, 0x82
cmp ax, dx
je 0x441160
cmp eax, 0x77
jne 0x40adbe
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
add ah, byte [esi - 0x7d]
cmp al, 0x43
ja 0x4410f7
sbb al, 0x43
je 0x441160
cmp word [ebx], 0x78
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0x84]
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], eax
clc
je 0x44170b
add byte [eax], al
cmp eax, dword [ebp - 0x2c]
jne 0x446f6c
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a9fe
inc edi
inc ebp
fadd dword [eax]
add byte [eax], al
add cl, ch
jns 0x4411b0
add byte [eax], al
jmp 0x441a23
add byte [eax], al
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x28], eax
cmp word [ebx], 0x76
jne 0x441288
add al, 0x89
inc ebp
fsub dword [esi - 0x7d]
cmp esi, dword [esi + 0xf]
test edx, ecx
add byte [eax], al
add byte [ebx + 0x4c75243d], al
add byte [eax], al
cmp dword [0x4c7524], 0
je 0x44127f
mov dword [ebp - 0x9c], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x84], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x74], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x80], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0x7c], eax
test eax, eax
jne 0x441249
mov dword [ebp - 0x7c], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0x78], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x9c]
push eax
call dword [0x4c7524]
add esp, 4
test eax, eax
jg 0x40adbe
js fcn.0040a89b
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
add ebx, 8
sub eax, 4
mov dword [ebp - 0x28], eax
movzx eax, word [ebx]
xor ecx, ecx
mov dword [ebp - 0x34], eax
add eax, 0xffffff73
mov dword [ebp - 0x1c], ecx
cmp eax, 4
ja 0x4413a2
jmp dword [eax*4 + 0x44e818]
mov ecx, dword [ebp - 8]
mov edx, ebx
mov dword [esi + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a720
add esp, 0x14
cmp eax, 1
jne 0x441423
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x4413da
mov dword [ebp + 0xc], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
mov dword [ebp - 0x1c], 1
jne 0x4413fd
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x4413ef
mov eax, dword [ebp - 0x34]
mov ecx, 2
movzx eax, byte [eax + 0x4a6440]
sub ecx, eax
lea ebx, [edx + ecx*2]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + 0x4a6440]
jmp 0x44143b
test eax, eax
je 0x441432
cmp eax, 0xfffffc20
jne fcn.0040a89b
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
test ecx, ecx
jne 0x441450
cmp word [ebx - 4], 0x77
jne 0x40a77f
cmp edi, 0x8c
jne 0x40a8e6
mov ecx, dword [ebp - 8]
mov edx, ebx
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a720
add esp, 0x14
jmp fcn.0040a89b
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a9fe
movzx edx, word [ebx + 4]
mov dword [ebp - 0x2c], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge 0x441b9d
xor ecx, ecx
shl eax, 2
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x74]
sar ecx, 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 8]
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x2c]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x441a96
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a6440]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.0040a720
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x441b01
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov ecx, 1
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 8], eax
jmp 0x441a70
cmp ecx, 0xfffffc20
jne 0x441b2e
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x441072
cmp word [ebx], 0x77
je 0x441b36
cmp word [eax], 0x77
jne 0x441072
jmp 0x441b36
test ecx, ecx
jne 0x441072
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x441a70
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x441b80
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], 0
jne 0x44170b
test eax, eax
je 0x40adbe
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a9fe
mov dword [ebp - 0x28], 0
mov eax, ebx
mov dword [ebp - 0x14], 0
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
cmp edi, 0x88
jb 0x441bd0
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a6440]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.0040a720
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x441c2e
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x14], 1
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x441bbe
cmp ecx, 0xfffffc20
jne 0x441c5b
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x441072
cmp word [ebx], 0x77
je 0x441c63
cmp word [eax], 0x77
jne 0x441072
jmp 0x441c63
test ecx, ecx
jne 0x441072
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x441c7f
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp 0x441bbe
cmp dword [ebp - 0x14], 0
jne 0x44170b
cmp dword [ebp - 0x28], 0
je 0x40adbe
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a9fe
test byte [ebx], dh
cld
dec dword [ebx + 0x558bec4d]
push ebp
hlt
inc ebp
loopne 0x444886
stosd dword es:[edi], eax
add byte [eax], al
add byte [ebx + 0xf00c87d], al
test dword [ebx], edx
cld
invalid
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push edx
push ecx
mov ecx, dword [ebp - 8]
jne 0x446f9b
lea edx, [ebx + 4]
call fcn.0040a720
add esp, 0x14
test eax, eax
jne fcn.0040a89b
mov ebx, dword [ebp - 0x14]
jmp 0x40a8e0
mov edx, dword [ebp - 0x14]
call fcn.0040a720
add esp, 0x14
test eax, eax
jne fcn.0040a89b
add ebx, 4
jmp 0x40a8e0