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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x364
push ebx
mov dword [esp + 0xec], edx
mov ebx, ecx
mov dword [esp + 8], 1
xor eax, eax
push esi
mov dword [esp + 0x1c], 0x6cae8ef3
push edi
mov dword [esp + 0x128], ebx
mov dword [esp + 0x10], eax
jmp 0x42005c
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x338], 6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x420049
mov edi, dword [0xab72b4]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0x1b
jl 0x420268
push dword [esp + 0x120]
movdqa xmm0, xmmword [0xaaddb0]
lea ecx, [esp + 0x308]
push ecx
lea ecx, [esp + 0x2fc]
mov dword [esp + 0x140], eax
push ecx
push eax
lea ecx, [esp + 0x148]
mov dword [esp + 0x14c], eax
movdqu xmmword [esp + 0x304], xmm0
mov dword [esp + 0x150], eax
call fcn.00415616
mov byte [esp + 0x1b], 0
cmp byte [esp + 0x1b], 0
je 0x4200e0
push 0
push 0
push 0xf66
call edi
push eax
call dword [0xab72ac]
mov eax, dword [esp + 0x138]
and dword [eax], 0
push 1
lea ecx, [esp + 0x21c]
call fcn.00413e02
xor eax, eax
mov dword [esp + 0x2c], 7
mov dword [esp + 0x14], eax
jmp 0x42011e
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x218]
mov dword [ecx + edx*4], 0x2d672a83
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x420108
mov dword [esp + 0x14], eax
jmp 0x42013e
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x94], 0xd6c3f0bc
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x42012b
mov dword [esp + 0x94], eax
cmp dword [esp + 0x94], eax
jl 0x42021f
mov edi, dword [esp + 0x138]
mov dword [esp + 0x2c], 2
mov dword [esp + 0x30], 0xf2ef51ae
mov dword [esp + 0x34], 1
mov dword [esp + 0x30], 0x195c588c
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
cmp dword [esp + 0x2c], eax
je 0x4201bf
mov ecx, dword [esp + 0x20]
xor edx, edx
cmp dword [edi + 0xc], eax
setl dl
xor ebx, ebx
sub edx, ecx
mov ecx, dword [esp + 0x138]
cmp edx, 5
setg bl
sub ebx, 0xd764ce34
neg ebx
sbb ebx, ebx
inc ebx
cmp ebx, dword [ecx]
jne 0x4201bf
xor esi, esi
inc esi
jmp 0x4201c1
mov esi, eax
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x218]
mov dword [ecx + edx*4], esi
xor edx, edx
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x344]
mov ecx, dword [esp + 0x94]
test ecx, ecx
sets dl
xor ecx, ecx
cmp edx, 0x8a16
setne cl
xor edx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
cmp ecx, dword [edi + 0xc]
setle dl
mov dword [esp + 0x30], edx
dec dword [esp + 0x94]
jns 0x420160
lea ecx, [esp + 0x218]
call fcn.00413ed4
mov eax, dword [esp + 0x138]
dec dword [eax]
cmp dword [eax], 0xffffffe3
jne 0x4200ea
lea ecx, [esp + 0x138]
call fcn.00413ed4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x1b
mov edi, dword [0xab72b4]
push 0
pop eax
jge 0x420078
mov ebx, dword [esp + 0x128]
cmp dword [ebx + 0x10], eax
jne 0x420274
xor al, al
jmp 0x4221c5
push 0x81f
push eax
lea eax, [esp + 0xfc]
push eax
push 0x629c
call fcn.004223db
add esp, 0x10
mov dword [esp + 0xd4], 0xaed23b61
mov dword [esp + 0x20], 0x6c902daf
lea ecx, [esp + 0x1c0]
push 3
pop esi
push esi
call fcn.00413e02
mov dword [esp + 0x2c], 0xffffffff
xor eax, eax
mov dword [esp + 0x30], 1
mov dword [esp + 0x30], 0xf54c3dc4
mov dword [esp + 0x1bc], 8
mov dword [esp + 0x50], eax
jmp 0x4202f3
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x1c0]
mov dword [ecx + edx*4], 0x981f
inc dword [esp + 0x50]
cmp dword [esp + 0x50], esi
jl 0x4202dd
mov dword [esp + 0x50], eax
jmp 0x420312
mov ecx, dword [esp + 0x50]
mov dword [esp + ecx*4 + 0x2c0], 1
inc dword [esp + 0x50]
cmp dword [esp + 0x50], esi
jl 0x4202ff
mov byte [esp + 0x8a], al
cmp byte [esp + 0x8a], al
je 0x420340
push 0x10a4
push eax
call edi
push eax
call dword [0xab7298]
push eax
call dword [0xab704c]
xor eax, eax
cmp dword [esp + 0xd4], 0x38ec
jne 0x42045f
cmp dword [esp + 0xd4], eax
jne 0x42045f
cmp dword [esp + 0x20], eax
je 0x420378
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c0]
cmp dword [esi], ecx
jl 0x42037f
xor ecx, ecx
inc ecx
jmp 0x420381
mov esi, dword [esp + 0x1c0]
mov ecx, eax
xor edx, edx
cmp ecx, 0xfffffffe
setg dl
xor ecx, ecx
cmp edx, dword [esi]
setle cl
cmp ecx, 0xb4ef
je 0x42045c
mov dword [esp + 0x14], 0x8f928d9b
mov ecx, 0xe7aebb1b
mov dword [esp + 0x208], ecx
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x210], ecx
mov dword [esp + 0x214], ecx
mov dword [esp + 0x124], 1
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0xd4], eax
jne 0x4203e8
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x208]
mov ecx, dword [esp + 0x14]
sub esi, ecx
mov ecx, dword [esp + 0x14]
cmp esi, ecx
sete dl
imul ecx, edx, 0xd900
xor edx, edx
cmp ecx, 0x64071c19
setne dl
sub edx, dword [esp + 0x14]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x30], edx
je 0x420446
cmp dword [esp + 0x14], eax
je 0x420446
cmp dword [esp + 0xd4], eax
je 0x420446
xor eax, eax
inc eax
add eax, 0xa
push 3
mov dword [esp + 0x34], eax
inc dword [esp + 0x128]
pop esi
jmp 0x420515
push 3
pop esi
mov dword [esp + 0x34], 0xffffffff
lea ecx, [esp + 0x23c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x30], 0xf0a86225
push esi
call fcn.00413e02
mov dword [esp + 0x28], 0x83564f69
mov dword [esp + 0x20], 0x51ca2ae3
mov dword [esp + 0xcc], 0
jmp 0x4204bd
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0x23c]
mov dword [eax + ecx*4], 0x1449babe
inc dword [esp + 0xcc]
cmp dword [esp + 0xcc], esi
jl 0x4204a1
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov eax, dword [esp + 0x2c0]
dec dword [esp + 0x20]
mov eax, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0x34]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x23c]
lea ecx, [esp + 0x23c]
setg dl
mov dword [eax], edx
mov dword [esp + 0x2c0], edx
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x1bc], eax
call fcn.00413ed4
lea ecx, [esp + 0x1c0]
call fcn.00413ed4
push 1
lea ecx, [esp + 0x2a4]
call fcn.00413e02
mov dword [esp + 0xb8], 0xffffffff
lea ecx, [esp + 0x28c]
push 4
call fcn.00413e02
xor eax, eax
mov dword [esp + 0x28], 0xaba4a2c6
mov dword [esp + 0x28], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x54], eax
jmp 0x420579
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x2a0]
mov dword [ecx + edx*4], 0x24f01c08
inc dword [esp + 0x54]
cmp dword [esp + 0x54], 1
jl 0x420563
mov dword [esp + 0x54], eax
jmp 0x42059c
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x28c]
mov dword [ecx + edx*4], 0xef339200
inc dword [esp + 0x54]
cmp dword [esp + 0x54], 4
jl 0x420586
mov dword [esp + 0xb8], eax
cmp dword [esp + 0xb8], eax
jl 0x4205d5
mov byte [esp + 0x85], al
cmp byte [esp + 0x85], 0
je 0x4205cc
call dword [0xab7128]
xor eax, eax
dec dword [esp + 0xb8]
jns 0x4205b3
lea edx, [esp + 0x1b8]
lea ecx, [esp + 0xb8]
call fcn.0041fcd2
lea ecx, [esp + 0x28c]
call fcn.00413ed4
lea ecx, [esp + 0x2a0]
call fcn.00413ed4
cmp dword [ebx + 0x14], 0x10
jb 0x42060a
mov ecx, dword [ebx]
jmp 0x42060c
mov ecx, ebx
cmp dword [ebx + 0x14], 0x10
mov dword [esp + 0xec], ecx
jb 0x42061d
mov edx, dword [ebx]
jmp 0x42061f
mov edx, ebx
mov eax, dword [ebx + 0x10]
add eax, edx
cmp ecx, eax
je 0x4221c3
xor eax, eax
mov dword [esp + 0x1c], 0xd4081c29
xor ebx, ebx
mov dword [esp + 0x10], eax
inc ebx
cmp dword [esp + 0x10], 2
jge 0x420655
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x2ac], ebx
inc dword [esp + 0x10]
jmp 0x42063d
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], eax
jl 0x42074c
mov dword [esp + 0x14], 2
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], eax
jl 0x420742
mov dword [esp + 0x24], 0x9b8bc588
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x420698
push eax
call edi
push eax
call dword [0xab7288]
xor eax, eax
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], eax
jl 0x420738
mov dword [esp + 0x10], eax
jmp 0x4206bf
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x15c], 0xfffffffc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4206ac
mov dword [esp + 0x160], eax
jmp 0x4206e7
mov ecx, dword [esp + 0x160]
mov dword [esp + ecx*4 + 0x2ac], 0x9d43467
inc dword [esp + 0x160]
cmp dword [esp + 0x160], 2
jl 0x4206ce
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x42072e
push 0xb79
push eax
push 0x1861
push 0x47e
push 0x2703
push eax
push 0x7be
push 0xc35
call edi
push eax
call dword [0xab7298]
push eax
call dword [0xab728c]
xor eax, eax
dec dword [esp + 0x24]
jns 0x4206a6
dec dword [esp + 0x14]
jns 0x420679
dec dword [esp + 0x1c]
jns 0x420663
mov byte [esp + 0x84], al
cmp byte [esp + 0x84], 0
je 0x42076f
push 0x1df3
push eax
push eax
call edi
push eax
call dword [0xab72b0]
xor eax, eax
mov dword [esp + 0x8c], 0x324ec2e0
mov dword [esp + 0x28], 0xfe387fb0
mov dword [esp + 0x28], 0xc1ec2db2
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 0xf3c34eea
push 5
mov dword [esp + 0x2c], eax
pop esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x10], eax
jmp 0x4207cd
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x280], 0x74b1b055
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x4207ba
inc dword [esp + 0x11c]
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x4207f0
push eax
push eax
push eax
push eax
push eax
call dword [0xab710c]
push ebx
lea ecx, [esp + 0x1dc]
call fcn.00413e02
call fcn.0041fde7
mov dword [esp + 0x264], esi
lea ecx, [esp + 0x1e4]
mov dword [esp + 0x268], esi
mov dword [esp + 0x26c], esi
mov dword [esp + 0x270], esi
mov dword [esp + 0x10], 0xd59e57ad
push 7
mov dword [esp + 0x28], 0x2b90f998
pop esi
mov dword [esp + 0xe0], 0xef3c
mov dword [esp + 0x48], esi
mov dword [esp + 0x40], 0xfffffff9
push ebx
call fcn.00413e02
xor eax, eax
mov dword [esp + 0xac], eax
jmp 0x42087c
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0x1e4]
mov dword [ecx + edx*4], 0x30bca0be
inc dword [esp + 0xac]
cmp dword [esp + 0xac], ebx
jl 0x420860
cmp dword [esp + 0x10], eax
je 0x420979
cmp dword [esp + 0x24], eax
je 0x42089d
mov ecx, ebx
cmp dword [esp + 0x10], eax
jne 0x42089f
mov ecx, eax
imul edx, ecx, 0xae7
xor ebx, ebx
mov ecx, dword [esp + 0x24]
cmp edx, ecx
setg bl
imul ebx, dword [esp + 0x24]
test ebx, ebx
je 0x4208c3
cmp dword [esp + 0x10], eax
je 0x4208c3
mov esi, eax
jmp 0x4208c6
xor esi, esi
inc esi
mov ecx, dword [esp + 0x24]
xor edx, edx
cmp ecx, esi
setne dl
sub edx, 0x9338
neg edx
sbb edx, edx
inc edx
cmp edx, dword [esp + 0xe0]
je 0x4208f0
cmp dword [esp + 0x24], eax
je 0x4208f0
xor edx, edx
inc edx
jmp 0x4208f2
mov edx, eax
mov ecx, dword [esp + 0xe0]
imul ecx, edx
xor edx, edx
cmp ecx, 0xb5cf
setg dl
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x40], ecx
imul ecx, dword [esp + 0x40], 0x9f36
test ecx, ecx
je 0x420923
mov ecx, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ecx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x24]
cmp ecx, 0xffffffff
push 7
setne dl
pop esi
add edx, dword [esp + 0x10]
je 0x420979
mov dword [esp + 0x48], esi
jmp 0x420970
mov dword [esp + 0x40], eax
jmp 0x420965
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x1e4]
mov dword [ecx + edx*4], 0xb7215766
inc dword [esp + 0x40]
cmp dword [esp + 0x40], 1
jl 0x42094f
dec dword [esp + 0x48]
cmp dword [esp + 0x48], 0xffffffee
je 0x420949
jmp 0x4209d0
mov dword [esp + 0x40], eax
jmp 0x4209ca
mov dword [esp + 0x1b0], esi
mov byte [esp + 0x86], al
cmp byte [esp + 0x86], 0
je 0x4209ab
push eax
push 0xa93
push 0x2415
push eax
call dword [0xab7050]
xor eax, eax
mov edx, dword [esp + 0x40]
xor ebx, ebx
mov ecx, dword [esp + 0xe0]
cmp ecx, edx
setl bl
neg ebx
mov dword [esp + 0x1b0], ebx
inc dword [esp + 0x40]
cmp dword [esp + 0x40], eax
jle 0x42097f
xor ebx, ebx
mov dword [esp + 0x48], eax
inc ebx
jmp 0x4209ef
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x1e4]
mov dword [eax + ecx*4], 0xc844fc3
inc dword [esp + 0x48]
cmp dword [esp + 0x48], ebx
jl 0x4209d9
lea ecx, [esp + 0x1e4]
call fcn.00413ed4
push 0
push 0x2a18
lea edx, [esp + 0x1a8]
lea ecx, [esp + 0x1e0]
call fcn.0041f297
pop ecx
mov dword [esp + 0xb8], ebx
pop ecx
mov dword [esp + 0xb4], 0
jmp 0x420aa2
mov dword [esp + 0xc0], 0xa18885c6
mov dword [esp + 0xc0], esi
jmp 0x420a91
mov byte [esp + 0x78], 0
cmp byte [esp + 0x78], 0
je 0x420a66
push 0x20bf
push 0x2144
call edi
push eax
push 0
call dword [0xab7284]
mov byte [esp + 0x88], 0
cmp byte [esp + 0x88], 0
je 0x420a8a
push 0xe96
push 0xef8
push 0
call dword [0xab729c]
dec dword [esp + 0xc0]
cmp dword [esp + 0xc0], 0xfffffff1
jle 0x420a45
inc dword [esp + 0xb4]
cmp dword [esp + 0xb4], 0xf
jge 0x420a31
mov dword [esp + 0x194], 4
lea edx, [esp + 0x190]
mov dword [esp + 0x190], 0xfffffff6
lea ecx, [esp + 0x194]
call fcn.0041ff83
mov byte [esp + 0x79], 0
cmp byte [esp + 0x79], 0
je 0x420af1
push 0x2521
push 0
call edi
push eax
call dword [0xab72a0]
mov dword [esp + 0x8c], 0
jmp 0x42151a
mov dword [esp + 0x98], 2
mov dword [esp + 0x7c], 0xc7ce
dec dword [esp + 0x7c]
mov dword [esp + 0x98], 0xfffffff5
jmp 0x420b6b
mov dword [esp + 0x184], ebx
mov dword [esp + 0x7c], 0
jmp 0x420b5d
mov dword [esp + 0x188], 0xffffffff
cmp dword [esp + 0x98], 0
jne 0x420b64
mov eax, dword [esp + 0x184]
mov dword [esp + 0x188], eax
inc dword [esp + 0x7c]
cmp dword [esp + 0x7c], 0x27
jne 0x420b36
inc dword [esp + 0x98]
cmp dword [esp + 0x98], 0xfffffffc
jg 0x420b25
mov dword [esp + 0x70], 0x3d9532bb
lea ecx, [esp + 0x274]
mov dword [esp + 0x28], 0xfffffffb
mov dword [esp + 0x28], 0xfffffff7
mov dword [esp + 0x28], 0xfffffff8
mov dword [esp + 0x28], 0x72fd4914
mov dword [esp + 0x28], 0x555b7cef
mov dword [esp + 0x28], 0x89a69576
push 4
call fcn.00413e02
push ebx
lea ecx, [esp + 0x228]
call fcn.00413e02
xor eax, eax
push 3
mov dword [esp + 0x3c], eax
pop esi
jmp 0x420be6
mov ecx, dword [esp + 0x38]
mov dword [esp + ecx*4 + 0x348], 0xffffffff
inc dword [esp + 0x38]
cmp dword [esp + 0x38], esi
jl 0x420bd3
mov dword [esp + 0x38], eax
jmp 0x420c08
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x274]
mov dword [ecx + edx*4], 0x172ddb74
inc dword [esp + 0x38]
cmp dword [esp + 0x38], 4
jl 0x420bf2
mov dword [esp + 0x38], eax
jmp 0x420c2b
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x224]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [esp + 0x38]
cmp dword [esp + 0x38], ebx
jl 0x420c15
mov eax, dword [esp + 0x224]
lea ecx, [esp + 0x224]
dec dword [eax]
call fcn.00413ed4
lea ecx, [esp + 0x274]
call fcn.00413ed4
mov dword [esp + 0xa4], 0x29b3
mov dword [esp + 0x70], 0
jmp 0x421508
mov dword [esp + 0x30], 0xd29be1d9
mov dword [esp + 0x10], 0
jmp 0x420c8b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x284], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x420c7c
mov eax, dword [esp + 0x284]
mov dword [esp + 0x30], eax
mov byte [esp + 0x1b], 0
cmp byte [esp + 0x1b], 0
je 0x420cb1
push 0
call dword [0xab72c8]
mov dword [esp + 0x9c], 0xffff
call fcn.0041b616
mov dword [esp + 0x28], ebx
lea ecx, [esp + 0x230]
mov dword [esp + 0x14], 0x4f2887cf
mov dword [esp + 0x30], 0xa0a9f4f9
mov dword [esp + 0x5c], 0xda99da97
mov dword [esp + 0x20], 0xbfad0d72
mov dword [esp + 0x2c], 0x2b752bf3
push ebx
call fcn.00413e02
xor eax, eax
mov dword [esp + 0x3c], 4
mov dword [esp + 0x58], eax
jmp 0x420d16
mov ecx, dword [esp + 0x58]
mov dword [esp + ecx*4 + 0x44], eax
inc dword [esp + 0x58]
cmp dword [esp + 0x58], ebx
jl 0x420d0a
mov dword [esp + 0x58], eax
jmp 0x420d38
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x230]
mov dword [ecx + edx*4], 0x4d4e
inc dword [esp + 0x58]
cmp dword [esp + 0x58], ebx
jl 0x420d22
mov dword [esp + 0x44], eax
jmp 0x420d7d
mov dword [esp + 0x2c], 0x45db
mov byte [esp + 0x7b], al
cmp byte [esp + 0x7b], 0
je 0x420d69
call edi
push eax
call dword [0xab7298]
push eax
call dword [0xab7060]
xor eax, eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
dec dword [esp + 0x44]
cmp dword [esp + 0x44], 0xffffffe8
jl 0x420d44
mov dword [esp + 0x14], eax
jmp 0x420e5f
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x2b4]
mov dword [esp + 0x30], 0xe9f9034e
mov dword [esp + 0x30], 0x8142c78e
push 2
call fcn.00413e02
mov dword [esp + 0xbc], 0
jmp 0x420dd8
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x2b4]
mov dword [eax + ecx*4], 5
inc dword [esp + 0xbc]
cmp dword [esp + 0xbc], 2
jl 0x420dbc
mov ecx, dword [esp + 0x230]
mov eax, dword [ecx]
dec dword [ecx]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x44]
cmp eax, dword [esp + 0x30]
je 0x420e16
cmp dword [esp + 0x34], 0
je 0x420e1a
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x3c]
dec eax
neg eax
sbb eax, eax
add eax, 0xfffffff9
imul ecx, eax
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x2b4]
call fcn.00413ed4
inc dword [esp + 0x14]
xor eax, eax
cmp dword [esp + 0x14], eax
jle 0x420d8d
lea ecx, [esp + 0x230]
call fcn.00413ed4
xor eax, eax
mov dword [esp + 0x20], eax
cmp dword [esp + 0x8c], eax
je 0x420ecf
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x1b4], 0x746e33a7
push ecx
lea ecx, [esp + 0x74]
push ecx
push 0x78e4
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x1c4]
push ecx
lea ecx, [esp + 0xa0]
push ecx
push eax
lea eax, [esp + 0xc0]
push eax
call fcn.0042386a
add esp, 0x20
jmp 0x421504
mov dword [esp + 0x6c], 0x728ad64d
mov dword [esp + 0x14], 0x7632667a
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], 0x1d933bd
mov dword [esp + 0x10], eax
jmp 0x420f04
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x168], 0xfffffffb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x420ef1
mov dword [esp + 0x14], eax
jmp 0x420fc9
mov dword [esp + 0x30], 4
mov ecx, dword [esp + 0x14]
cmp dword [esp + ecx*4 + 0x168], eax
je 0x420f94
mov ecx, dword [esp + 0x170]
cmp dword [esp + 0x174], eax
je 0x420f41
mov ecx, ebx
cmp dword [esp + 0x14], eax
jne 0x420f43
mov ecx, eax
mov edx, 0xe0d1b713
mov esi, ebx
cmp edx, ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x174]
mov ecx, dword [esp + 0x168]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + ecx*4 + 0x168]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + ecx*4 + 0x168]
cmp ecx, ebx
mov ecx, dword [esp + 0x14]
setg dl
sub edx, dword [esp + ecx*4 + 0x168]
neg edx
sbb edx, edx
inc edx
cmp edx, dword [esp + 0x14]
jl 0x420f96
mov esi, eax
mov ecx, dword [esp + 0x34]
xor edx, edx
cmp esi, ecx
setle dl
mov dword [esp + 0x30], edx
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], cl
je 0x420fc2
push 0xd76
push 0xf6e
push eax
call dword [0xab72c4]
xor eax, eax
inc dword [esp + 0x14]
push 3
pop esi
cmp dword [esp + 0x14], esi
jle 0x420f14
call fcn.00416949
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x420ff3
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x314], 9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x420fe0
mov dword [esp + 0x1c], 0xdf99ff60
mov dword [esp + 0x10], 0x5c380a38
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], 0x8f25ce5a
mov dword [esp + 0x30], 0x5d5d909c
push 2
mov dword [esp + 0x38], 0x4d126829
mov dword [esp + 0x20], eax
pop edx
jmp 0x42103d
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x10c], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x42102e
mov dword [esp + 0x1c], eax
jmp 0x421058
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x298], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x421049
mov dword [esp + 0x1c], eax
jmp 0x421077
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x114], 0x950224c6
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jl 0x421064
mov dword [esp + 0x1c], 0x1b
cmp dword [esp + 0x1c], 0xfffffff1
je 0x4212de
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], 0xeec73f5c
mov dword [esp + 0x14], 0x8597a0b8
mov dword [esp + 0x5c], eax
mov dword [esp + 0x34], 0xd42
mov dword [esp + 0x34], 0xc022ad61
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x1c], 0xc237
jge 0x4210d2
mov esi, eax
cmp dword [esp + 0x1c], eax
je 0x4210d4
mov esi, ebx
mov ecx, dword [esp + 0x110]
xor edx, edx
cmp esi, ecx
setl dl
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x110]
jge 0x4210fb
mov esi, ebx
cmp dword [esp + 0x10], eax
jne 0x4210fd
mov esi, eax
mov ecx, dword [esp + 0x2c]
xor edx, edx
cmp esi, ecx
setge dl
xor ebx, ebx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp edx, ecx
setge bl
xor ecx, ecx
cmp ebx, 0x4e1c2e93
setg cl
add ecx, dword [esp + 0x5c]
mov dword [esp + 0x34], ecx
jne 0x421153
mov ecx, dword [esp + 0x110]
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x14], eax
je 0x421161
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
imul ecx, dword [esp + 0x2c], 0xffff0001
test ecx, ecx
jne 0x421178
mov ecx, dword [esp + 0x110]
mov ecx, dword [esp + 0x5c]
mov edx, 0x5699
mov ecx, dword [esp + 0x110]
mov ecx, dword [esp + 0x29c]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
sub edx, ecx
add edx, dword [esp + 0x14]
je 0x4212b6
push 1
lea ecx, [esp + 0x200]
call fcn.00413e02
xor eax, eax
mov dword [esp + 0xc4], eax
jmp 0x4211d8
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x1fc]
mov dword [ecx + edx*4], 0xa8275bae
inc dword [esp + 0xc4]
cmp dword [esp + 0xc4], 1
jl 0x4211bc
mov dword [esp + 0x14], eax
jmp 0x42129b
mov dword [esp + 0x34], 0xc332
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x421215
push eax
push eax
push 0x1d91
push 0x320
call edi
push eax
call dword [0xab72a8]
xor eax, eax
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp ecx, 3
setl dl
mov dword [esp + 0x20], edx
cmp dword [esp + 0x20], eax
jne 0x421235
cmp dword [esp + 0x34], eax
jne 0x421235
xor ecx, ecx
inc ecx
xor edx, edx
cmp ecx, 0x2a59a03c
mov ecx, dword [esp + 0x1fc]
setg dl
xor ebx, ebx
cmp edx, dword [ecx]
setne bl
xor ecx, ecx
cmp ebx, 4
setle cl
cmp ecx, 0x64e9
jg 0x42126f
cmp dword [esp + 0x14], 0xfffffffd
jle 0x4211eb
lea ecx, [esp + 0x1fc]
call fcn.00413ed4
xor eax, eax
jmp 0x4212c9
mov dword [esp + 0x34], 8
mov dword [esp + 0x34], eax
inc dword [esp + 0x114]
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xfffffff1
push 1
pop ebx
jne 0x421090
push 3
pop esi
lea eax, [esp + 0x6c]
mov edx, 0x37f1
push ebx
push eax
mov ecx, 0x34b0
call fcn.0041f297
pop ecx
pop ecx
call fcn.0041fc38
mov dword [esp + 0xa4], 0xfffffff9
jmp 0x4214f6
call fcn.00416ac7
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
xor eax, eax
cmp dword [esp + 0x20], eax
jne 0x42133e
mov ecx, dword [esp + 0x6c]
mov edx, eax
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
imul ecx, dword [esp + 0x20]
cmp ecx, 0x95f87b70
je 0x421340
mov edx, ebx
mov ecx, dword [esp + 0x268]
sub edx, ecx
mov dword [esp + 0x31c], edx
mov dword [esp + 0x9c], eax
cmp dword [esp + 0x9c], 5
jg 0x4214ef
jmp 0x421369
xor eax, eax
mov dword [esp + 0x4c], 0x77862fd4
mov dword [esp + 0xf8], 4
mov dword [esp + 0x4c], 0xffffffec
jmp 0x4213e5
mov dword [esp + 0x68], ebx
mov dword [esp + 0x68], 0xffffffe8
jmp 0x4213b4
mov byte [esp + 0x83], al
cmp byte [esp + 0x83], 0
je 0x4213b0
push eax
push eax
push eax
call dword [section..idata]
xor eax, eax
inc dword [esp + 0x68]
cmp dword [esp + 0x68], esi
je 0x421394
mov dword [esp + 0x68], eax
jmp 0x4213da
mov dword [esp + 0x1a8], 0x11
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1a8], ecx
dec dword [esp + 0x68]
cmp dword [esp + 0x68], 0xffffffe7
jle 0x4213c0
inc dword [esp + 0x4c]
cmp dword [esp + 0x4c], 7
jne 0x421386
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0xf8]
sub ecx, dword [esp + 0xf8]
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x4c], ecx
jle 0x421441
mov dword [esp + 0x144], 0xdfe936be
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x421438
push eax
push eax
push eax
call dword [section..idata]
dec dword [esp + 0x144]
jmp 0x421494
mov dword [esp + 0x1ac], 0xfffffff6
mov dword [esp + 0x118], ebx
mov dword [esp + 0x18c], 0xc75daa08
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0x1ac]
neg edx
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x118]
sbb edx, edx
xor ecx, ecx
neg edx
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, edx
setle cl
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x19c], 0xa746c20b
call fcn.0041fb73
mov dword [esp + 0x6c], 0xb
jmp 0x4214d3
lea eax, [esp + 0x19c]
push eax
push 0x7a62
push 0x52f1
push 0x42b2
push 0
call fcn.0042243a
add esp, 0x14
inc dword [esp + 0x6c]
cmp dword [esp + 0x6c], 0x17
jge 0x4214ae
inc dword [esp + 0x9c]
cmp dword [esp + 0x9c], 5
jle 0x421367
inc dword [esp + 0xa4]
cmp dword [esp + 0xa4], 0xa
je 0x42130a
dec dword [esp + 0x70]
cmp dword [esp + 0x70], 0xffffffef
je 0x420c6a
inc dword [esp + 0x8c]
cmp dword [esp + 0x8c], 5
jle 0x420b01
call fcn.0041b185
push 0x3722
lea eax, [esp + 0x1dc]
push eax
push 0
call fcn.00423815
add esp, 0xc
mov dword [esp + 0x64], 0x125d16df
xor eax, eax
mov dword [esp + 0x10], eax
push 3
pop esi
jmp 0x421566
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x354], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x421557
mov dword [esp + 0x64], eax
jmp 0x4215a8
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x421587
push eax
push eax
call dword [0xab72a4]
xor eax, eax
mov byte [esp + 0x87], al
cmp byte [esp + 0x87], 0
je 0x4215a4
cmp dword [esp + 0x64], 2
jle 0x421572
mov dword [esp + 0x64], eax
jmp 0x4215d3
cmp dword [esp + 0x64], esi
jle 0x4215b5
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret