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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3bc
push ebx
push esi
push edi
push dword [esp + 0xa8]
mov dword [esp + 0x50], ecx
xor eax, eax
lea ecx, [esp + 0x344]
mov dword [esp + 0x20], 0x4643cdf9
push ecx
lea ecx, [esp + 0x338]
mov dword [esp + 0x78], edx
push ecx
xorps xmm0, xmm0
mov dword [esp + 0x174], eax
push eax
lea ecx, [esp + 0x178]
mov dword [esp + 0x17c], eax
movdqu xmmword [esp + 0x340], xmm0
mov dword [esp + 0x180], eax
call fcn.00401947
push 3
pop edi
push edi
lea ecx, [esp + 0x290]
call fcn.00401428
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x423455
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x3b8], 0xc93b4e1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x423442
mov dword [esp + 0x10], eax
jmp 0x423474
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28c]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x423462
mov ebx, dword [0xa7423c]
push 1
mov dword [esp + 0x20], eax
pop esi
jmp 0x42359c
push esi
lea ecx, [esp + 0x118]
call fcn.00401428
mov dword [esp + 0x24], 0x40ed
xor eax, eax
mov dword [esp + 0x34], 0xa1650187
mov dword [esp + 0x28], 0x3efc1676
mov dword [esp + 0x10], eax
jmp 0x4234cf
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x114]
mov dword [ecx + edx*4], 0x17f75960
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4234b9
mov dword [esp + 0x10], eax
jmp 0x4234ee
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x298], 0xfffffffc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4234db
mov ecx, dword [esp + 0x114]
mov dword [ecx], edi
mov dword [esp + 0x24], 0xd91509cf
mov dword [esp + 0x18], eax
jmp 0x42351a
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x398], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x42350b
dec dword [esp + 0x28]
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x423542
push eax
push eax
push 0x2216
call ebx
push eax
call dword [0xa741fc]
xor eax, eax
mov ecx, dword [esp + 0x114]
dec dword [ecx]
jns 0x4234fd
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x423568
push eax
push 0xe80
push eax
push eax
call dword [0xa740e4]
xor eax, eax
mov dword [esp + 0x34], edi
cmp dword [esp + 0x34], eax
jl 0x42358c
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x423586
push eax
call dword [0xa741f0]
xor eax, eax
dec dword [esp + 0x34]
jns 0x423572
lea ecx, [esp + 0x114]
call fcn.004014fa
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jle 0x42348c
lea ecx, [esp + 0x28c]
call fcn.004014fa
lea ecx, [esp + 0x168]
call fcn.004014fa
push edi
lea ecx, [esp + 0xbc]
call fcn.00401428
mov dword [esp + 0x18], 0
jmp 0x4235eb
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xb8]
mov dword [eax + ecx*4], 0xea5d6c05
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x4235d5
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x42360b
push 0x252a
call ebx
push eax
call dword [0xa74210]
mov edi, dword [esp + 0xb8]
mov dword [edi], 0xffffffed
mov dword [esp + 0x20], 0xd7c1188e
lea ecx, [esp + 0x2f0]
mov dword [esp + 0x1c], 0
push 2
call fcn.00401428
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x423654
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2f0]
mov dword [ecx + edx*4], 0xfa1e1c5a
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x42363e
mov esi, dword [esp + 0x20]
neg esi
sbb esi, esi
neg esi
cmp dword [edi + 4], eax
je 0x423692
mov edx, dword [esp + 0xb8]
xor ebx, ebx
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [edx + 8]
mov ecx, dword [esp + 0x20]
setl bl
sub ecx, ebx
imul ecx, ecx, 0xffff
test ecx, ecx
je 0x423692
xor ecx, ecx
inc ecx
jmp 0x423694
mov ecx, eax
xor edx, edx
cmp esi, ecx
mov ecx, dword [esp + 0xb8]
setne dl
xor ebx, ebx
cmp dword [ecx], edx
mov ecx, dword [esp + 0x1c]
sete bl
add ecx, ebx
cmp ecx, 0xd49598aa
jbe 0x4236c9
mov ecx, dword [esp + 0xb8]
cmp dword [ecx], eax
jne 0x4236c9
xor ebx, ebx
mov ecx, eax
inc ebx
jmp 0x4236ce
xor ebx, ebx
inc ebx
mov ecx, ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], eax
jl 0x42372f
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x4236fe
push eax
call dword [0xa7423c]
push eax
call dword [0xa74230]
push eax
call dword [0xa74040]
xor eax, eax
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], eax
jl 0x423729
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x423723
push ebx
call dword [0xa7423c]
push eax
call dword [0xa74204]
xor eax, eax
dec dword [esp + 0x20]
jns 0x423708
dec dword [esp + 0x1c]
jns 0x4236dc
lea ecx, [esp + 0x2f0]
call fcn.004014fa
mov eax, dword [esp + 0xb8]
inc dword [eax]
cmp dword [eax], 0xffffffee
jle 0x423618
lea ecx, [esp + 0xb8]
call fcn.004014fa
push ebx
lea ecx, [esp + 0x130]
call fcn.00401428
xor eax, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
jmp 0x423788
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x12c]
mov dword [ecx + edx*4], 0xe0bcd8c4
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x423772
mov edi, dword [0xa7423c]
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x4237b0
push eax
push eax
push 0x1d49
call edi
push eax
call dword [0xa74234]
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], eax
jl 0x423889
push 2
pop esi
push esi
lea ecx, [esp + 0x154]
call fcn.00401428
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
jmp 0x4237ec
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x150]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x4237da
mov esi, dword [esp + 0x150]
mov dword [esi + 4], eax
mov dword [esp + 0x3c], 5
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x12c]
mov dword [ecx + edx*4], 4
mov dword [esp + 0x18], 0xffffffff
cmp dword [esp + 0x18], eax
jne 0x42383d
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x12c]
mov dword [ecx], ebx
mov ecx, dword [esp + 0x18]
inc ecx
neg ecx
sbb ecx, ecx
neg ecx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x423866
push 0x143a
push eax
push eax
call dword [0xa74008]
xor eax, eax
inc dword [esi + 4]
cmp dword [esi + 4], 0
jle 0x4237fc
cmp dword [esp + 0x28], eax
lea ecx, [esp + 0x150]
call fcn.004014fa
dec dword [esp + 0x1c]
jns 0x4237be
lea ecx, [esp + 0x12c]
call fcn.004014fa
mov dword [esp + 0x10], 0xb871c7bf
lea ecx, [esp + 0x29c]
mov dword [esp + 0x1c], 0xdf860956
mov dword [esp + 0x24], 0x364f2ca1
mov dword [esp + 0x24], 0xcd8a6ce
mov dword [esp + 0x24], 0
mov dword [esp + 0x40], 0xfffffffe
mov dword [esp + 0x24], 0xfffffff6
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x24], 0xdd14a140
mov dword [esp + 0x24], 0xffffffff
push 2
call fcn.00401428
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x42390b
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x74], 0x6847
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x4238fb
mov dword [esp + 0x10], eax
jmp 0x42392a
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x29c]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x423918
push 3
mov dword [esp + 0x14], eax
pop esi
cmp dword [esp + 0x10], esi
jg 0x423a56
mov dword [esp + 0x30], 0xbefa025e
mov dword [esp + 0x28], 0xb6bd0d42
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x74]
add ecx, 0xdbda
cmp ecx, dword [esp + 0x78]
jge 0x42397c
cmp dword [esp + 0x1c], eax
jne 0x42397c
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x74]
mov ecx, dword [esp + 0x80]
mov edx, ebx
mov ecx, dword [esp + 0x10]
xor ebx, ebx
mov ecx, dword [esp + ecx*4 + 0x74]
sub edx, ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x30]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 + 0x74]
mov ecx, dword [esp + 0x28]
cmp ecx, edx
mov ecx, dword [esp + 0x10]
setge bl
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x74]
cmp ebx, ecx
setg dl
add edx, dword [esp + 0x1c]
add edx, dword [esp + 0x10]
jne 0x4239d3
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x74]
mov ecx, dword [esp + 0x80]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x74]
dec ecx
je 0x4239e9
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x74]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + ecx*4 + 0x74]
mov ecx, dword [esp + 0x1c]
inc ecx
cmp ecx, esi
setg dl
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x423a42
push 0x2147
push 0x1298
push 0xd66
push 0x2452
call edi
push eax
call dword [0xa74230]
push eax
call dword [0xa74034]
xor eax, eax
inc dword [esp + 0x10]
push 3
pop esi
push 1
pop ebx
cmp dword [esp + 0x10], esi
jle 0x423942
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x1c], eax
jl 0x423c23
mov esi, 0xb34174aa
mov dword [esp + 0x20], 0xffffffff
lea ecx, [esp + 0x21c]
mov dword [esp + 0x24], 0xf3f8502
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], ebx
push 3
call fcn.00401428
mov dword [esp + 0x258], esi
mov eax, 0xc7a8f60f
mov dword [esp + 0x25c], esi
mov dword [esp + 0x260], esi
mov dword [esp + 0x264], esi
mov dword [esp + 0x2c], 0x2125954a
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x18], 0
jmp 0x423af4
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x21c]
mov dword [eax + ecx*4], 0xac89
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x423ade
mov eax, dword [esp + 0x21c]
inc dword [eax + 4]
mov dword [esp + 0x20], 0
cmp dword [esp + 0x20], 3
jg 0x423c07
mov dword [esp + 0x28], ebx
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x34], 5
mov dword [esp + 0x24], 4
push 3
call fcn.00401428
mov dword [esp + 0x24], 0x9f1a7dfa
mov dword [esp + 0x30], 0xfffffffd
mov dword [esp + 0x18], 0
jmp 0x423b6a
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1d4]
mov dword [eax + ecx*4], 0xadfd6f60
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x423b54
mov eax, dword [esp + 0x30]
dec dword [esp + 0x30]
test eax, eax
jne 0x423b81
mov esi, ebx
jmp 0x423b83
xor esi, esi
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1d4]
mov dword [eax + 4], ecx
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
neg eax
sbb eax, eax
neg eax
imul edx, eax
sub edx, dword [esp + 0x34]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x74]
cmp edx, eax
mov eax, dword [esp + 0x20]
setge cl
xor edx, edx
cmp esi, ecx
lea ecx, [esp + 0x1d4]
setne dl
add edx, dword [esp + eax*4 + 0x74]
mov eax, dword [esp + 0x260]
add eax, 0x60859452
add eax, edx
mov dword [esp + 0x34], eax
call fcn.004014fa
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jle 0x423b18
mov esi, 0xb34174aa
lea ecx, [esp + 0x21c]
call fcn.004014fa
dec dword [esp + 0x1c]
push 0
pop eax
jns 0x423a69
push 3
pop esi
lea ecx, [esp + 0x29c]
call fcn.004014fa
xor eax, eax
push 0xfffffffffffffffa
mov dword [esp + 0x1c], eax
pop edx
jmp 0x423c49
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x94], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x423c3a
mov dword [esp + 0x1c], edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x40], 0xfffffffc
mov dword [esp + 0x18], eax
jmp 0x423c71
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x68], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x423c65
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x40], 0x37bc7528
mov dword [esp + 0x1c], eax
jmp 0x423cab
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x423ca7
push eax
push 0xaea
push eax
call dword [0xa74030]
xor eax, eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], eax
jle 0x423c8d
mov dword [esp + 0x9c], 0xfffffffd
cmp dword [esp + 0x9c], 0xfffffff0
jle 0x42411f
push 2
pop esi
push ebx
lea ecx, [esp + 0x1f0]
call fcn.00401428
mov dword [esp + 0x40], 0x5d870a32
xor eax, eax
mov dword [esp + 0x34], 0xa1654207
mov dword [esp + 0x30], 0xd8a
mov dword [esp + 0x10], eax
jmp 0x423d10
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1ec]
mov dword [ecx + edx*4], 0xe91a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x423cfa
mov dword [esp + 0x10], eax
jmp 0x423d2c
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x48], 6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x423d1c
mov dword [esp + 0x10], eax
jmp 0x423d4b
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x188], 0xfffffffb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x423d38
mov dword [esp + 0x48], eax
jmp 0x423d6f
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x423d6b
push ebx
call dword [0xa74200]
xor eax, eax
inc dword [esp + 0x48]
cmp dword [esp + 0x48], eax
jle 0x423d57
imul eax, dword [esp + 0x18c], 0x11d7
sub eax, 0xfffffffa
neg eax
sbb eax, eax
xor edx, edx
inc eax
imul eax, eax, 0xffff
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x40]
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
cmp ecx, eax
setge dl
sub edx, 0xc309
neg edx
sbb edx, edx
inc edx
sub edx, dword [esp + 0x48]
mov eax, dword [esp + 0x1ec]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [eax]
setge cl
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x1ec]
call fcn.004014fa
mov dword [esp + 0x30], 0xa9869ec4
lea ecx, [esp + 0xd0]
push esi
call fcn.00401428
push dword [esp + 0x68]
movdqa xmm0, xmmword [0xa704e0]
lea ecx, [esp + 0x354]
push ecx
xor eax, eax
mov dword [esp + 0x24], 0x13532fe2
lea ecx, [esp + 0x348]
mov dword [esp + 0x30], eax
push ecx
mov dword [esp + 0x4c], 0x8ea5f34b
lea ecx, [esp + 0x150]
push eax
movdqu xmmword [esp + 0x350], xmm0
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], eax
call fcn.00401947
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], 0xe9a5
mov dword [esp + 0x3c], 6
mov dword [esp + 0x18], eax
jmp 0x423e8a
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xd0]
mov dword [ecx + edx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x423e78
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], ebx
jg 0x423fe5
mov esi, dword [esp + 0xd0]
jmp 0x423ea9
xor eax, eax
push dword [esp + 0x68]
movdqa xmm0, xmmword [0xa70500]
lea ecx, [esp + 0x364]
push ecx
mov dword [esp + 0x30], 0xfffffff6
lea ecx, [esp + 0x358]
mov dword [esp + 0x2c], 3
push ecx
mov dword [esp + 0x30], 0x5ea6edad
lea ecx, [esp + 0x12c]
mov dword [esp + 0x34], 0x9a07b304
mov dword [esp + 0x30], 0xb50f6b34
push eax
movdqu xmmword [esp + 0x360], xmm0
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
call fcn.00401947
push 2
lea ecx, [esp + 0x328]
call fcn.00401428
mov dword [esp + 0x18], 0
jmp 0x423f46
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x324]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x423f30
xor eax, eax
cmp dword [esi + 4], eax
sete al
cmp eax, 0xda0bdbd
jg 0x423f80
dec dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0x34]
cmp dword [ecx + edx*4], eax
jl 0x423f80
mov ecx, ebx
jmp 0x423f82
xor ecx, ecx
mov eax, dword [esp + 0x3c]
add eax, ecx
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
neg edx
mov eax, dword [esp + 0xd0]
sbb edx, edx
neg edx
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x324]
imul eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0xd0]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
call fcn.004014fa
lea ecx, [esp + 0x120]
call fcn.004014fa
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jle 0x423ea7
push 2
pop esi
lea ecx, [esp + 0x144]
call fcn.004014fa
lea ecx, [esp + 0xd0]
call fcn.004014fa
mov dword [esp + 0x40], esi
lea ecx, [esp + 0x15c]
mov dword [esp + 0x10], 0
mov dword [esp + 0x40], 0x82bdb979
push esi
call fcn.00401428
mov dword [esp + 0x18], 0
jmp 0x42403e
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x15c]
mov dword [eax + ecx*4], 0xb3a00d0e
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x424028
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
add ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 0
jl 0x42409a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x15c]
mov dword [eax + ecx*4], 0xfffffffc
dec dword [esp + 0x10]
jns 0x424082
lea ecx, [esp + 0x15c]
call fcn.004014fa
mov eax, dword [esp + 0x9c]
xor ecx, ecx
cmp eax, ebx
mov eax, dword [esp + 0x94]
setg cl
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xe966
mov eax, dword [esp + 0x9c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xc7c6f1fd
sete cl
cmp eax, ecx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
sbb ecx, ecx
inc ecx
imul eax, ecx
sub edx, eax
mov eax, dword [esp + 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [esp + 0x40], ecx
dec dword [esp + 0x9c]
cmp dword [esp + 0x9c], 0xfffffff0
jg 0x423ccd
push 3
xor eax, eax
pop esi
push dword [esp + 0x70]
lea ecx, [esp + 0xac]
push dword [esp + 0x50]
push ecx
push eax
call fcn.0042c06b
mov dword [esp + 0x30], 4
add esp, 0x10
mov dword [esp + 0x18], 0
jmp 0x424159
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x380], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x42414a
mov dword [esp + 0x20], 0x11
jmp 0x4241b0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x1c], 0
jmp 0x42418e
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x380], 0x816210b9
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x42417b
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x4241ac
call edi
push eax
call edi
push eax
call dword [0xa741f8]
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xb
jne 0x424169
mov dword [esp + 0x20], 0xed15de05
lea ecx, [esp + 0xac]
push esi
call fcn.00401428
mov dword [esp + 0x18], 0
jmp 0x4241ec
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xac]
mov dword [eax + ecx*4], 0xea5d6c05
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x4241d6
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x42420c
push 0x252a
call edi
push eax
call dword [0xa74210]
mov edi, dword [esp + 0xac]
mov dword [edi], 0xffffffed
mov dword [esp + 0x20], 0xd7c1188e
lea ecx, [esp + 0x2ac]
mov dword [esp + 0x1c], 0
push 2
call fcn.00401428
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x424255
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2ac]
mov dword [ecx + edx*4], 0xfa1e1c5a
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x42423f
mov esi, dword [esp + 0x20]
neg esi
sbb esi, esi
neg esi
cmp dword [edi + 4], eax
je 0x424293
mov edx, dword [esp + 0xac]
xor ebx, ebx
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [edx + 8]
mov ecx, dword [esp + 0x20]
setl bl
sub ecx, ebx
imul ecx, ecx, 0xffff
test ecx, ecx
je 0x424293
xor ecx, ecx
inc ecx
jmp 0x424295
mov ecx, eax
xor edx, edx
cmp esi, ecx
mov ecx, dword [esp + 0xac]
setne dl
xor ebx, ebx
cmp dword [ecx], edx
mov ecx, dword [esp + 0x1c]
sete bl
add ecx, ebx
cmp ecx, 0xd49598aa
jbe 0x4242ca
mov ecx, dword [esp + 0xac]
cmp dword [ecx], eax
jne 0x4242ca
xor ebx, ebx
mov ecx, eax
inc ebx
jmp 0x4242cf
xor ebx, ebx
inc ebx
mov ecx, ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], eax
jl 0x424330
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x4242ff
push eax
call dword [0xa7423c]
push eax
call dword [0xa74230]
push eax
call dword [0xa74040]
xor eax, eax
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], eax
jl 0x42432a
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x424324
push ebx
call dword [0xa7423c]
push eax
call dword [0xa74204]
xor eax, eax
dec dword [esp + 0x20]
jns 0x424309
dec dword [esp + 0x1c]
jns 0x4242dd
lea ecx, [esp + 0x2ac]
call fcn.004014fa
mov eax, dword [esp + 0xac]
inc dword [eax]
cmp dword [eax], 0xffffffee
jle 0x424219
lea ecx, [esp + 0xac]
call fcn.004014fa
push dword [esp + 0x68]
movdqa xmm0, xmmword [0xa70520]
lea ecx, [esp + 0x384]
push ecx
xor eax, eax
mov dword [esp + 0x18], 0xfffffff7
lea ecx, [esp + 0x378]
mov dword [esp + 0x38], 0x8876942a
push ecx
push eax
lea ecx, [esp + 0x104]
mov dword [esp + 0x104], eax
movdqu xmmword [esp + 0x380], xmm0
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
call fcn.00401947
push 3
pop esi
push esi
lea ecx, [esp + 0x238]
call fcn.00401428
xor edi, edi
inc edi
xor eax, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], eax
jmp 0x4243e5
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x88], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x4243d2
mov dword [esp + 0x10], eax
jmp 0x424407
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x234]
mov dword [ecx + edx*4], 0xf63588c5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4243f1
mov dword [esp + 0x10], eax
jmp 0x424426
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x88], 0xca4f833f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x424413
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov eax, dword [esp + 0x10]
cmp eax, 0x4f4e7975
mov eax, dword [esp + 0x88]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xf4]
setne dl
xor ecx, ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x88]
cmp edx, eax
mov eax, dword [esp + 0x234]
setle cl
xor edx, edx
mov dword [eax], ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, edi
mov eax, dword [esp + 0x10]
setge dl
xor ecx, ecx
cmp eax, edx
setle cl
xor eax, eax
cmp ecx, 0x1e13ca4d
lea ecx, [esp + 0x234]
setl al
imul eax, dword [esp + 0x30]
mov dword [esp + 0x10], eax
call fcn.004014fa
lea ecx, [esp + 0xf4]
call fcn.004014fa
mov dword [esp + 0x34], 5
xor eax, eax
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x4244ee
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x3ac], 0xf75d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4244db
push 2
mov dword [esp + 0x14], eax
pop ebx
jmp 0x424510
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0xa0], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x4244fd
mov dword [esp + 0xa4], eax
jmp 0x42453a
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x424533
push eax
call dword [0xa740e8]
xor eax, eax
inc dword [esp + 0xa4]
cmp dword [esp + 0xa4], ebx
jle 0x42451f
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x204]
push esi
call fcn.00401428
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x18], 0
jmp 0x42457c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x204]
mov dword [eax + ecx*4], 0x540d7f82
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x424566
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], 0
jl 0x4245ac
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x204]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x1c]
dec dword [esp + 0x1c]
jns 0x42458d
lea ecx, [esp + 0x204]
call fcn.004014fa
mov dword [esp + 0x24], edi
or edx, 0xffffffff
mov dword [esp + 0x24], 0xfffffffe
xor eax, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x24], 4
mov dword [esp + 0x24], edx
push 5
pop ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x24], 0x59b8bc58
mov dword [esp + 0x24], eax
mov dword [esp + 0x24], 0x15e1abe8
mov dword [esp + 0x24], 0x434678dc
mov dword [esp + 0x24], edx
mov dword [esp + 0x24], 0xb6b0e1b1
mov dword [esp + 0x24], eax
mov dword [esp + 0x24], 0xc2251554
mov dword [esp + 0x28], 0xccde6bc0
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], esi
jge 0x42463e
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x3a0], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x424626
push 5
pop ecx
dec dword [esp + 0x28]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 0xd837
mov dword [esp + 0x30], 0x6e871d97
mov dword [esp + 0x4c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], 0x4185a1fa
mov dword [esp + 0x24], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], 0x3e7ed6f1
mov dword [esp + 0x28], 0xe2bfbd3a
mov dword [esp + 0x24], 0x8cf5a8b0
mov dword [esp + 0x18], 6
mov dword [esp + 0x24], 0x7b6fe6d3
mov dword [esp + 0x1c], 0xd017
mov dword [esp + 0x24], 0x44142b91
mov dword [esp + 0x24], edx
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], 0xebd004dd
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 9
push edi
call fcn.00401428
mov dword [esp + 0x28], 0x894628ae
lea ecx, [esp + 0x1bc]
push 4
call fcn.00401428
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x42470c
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x190], 0x968cb667
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x4246f9
mov dword [esp + 0x10], eax
jmp 0x42472b
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c8]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x424718
mov dword [esp + 0x10], eax
jmp 0x424749
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1bc]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x424737
mov dword [esp + 0x28], 0x4039b642
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x1c8]
inc dword [ecx]
jne 0x4247e7
cmp dword [esp + 0x20], eax
je 0x42477d
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x1c], eax
jne 0x424797
mov ecx, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x190], ecx
jle 0x4247ac
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x190]
imul edx, ecx
mov ecx, dword [esp + 0x38]
sub edx, ecx
inc edx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x24], edi
jle 0x4247db
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, eax
cmp dword [esp + 0x34], eax
je 0x4247e9
mov edx, edi
mov ecx, dword [esp + 0x1bc]
cmp edx, dword [ecx + 4]
je 0x424813
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x42481f
push 0x14b4
push eax
push 0x214d
push eax
call dword [0xa740fc]
jmp 0x42481f
mov dword [esp + 0x24], 0x6af4a9b8
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x1bc]
call fcn.004014fa
lea ecx, [esp + 0x1c8]
call fcn.004014fa
mov dword [esp + 0x1c], 9
xor eax, eax
mov dword [esp + 0x34], 0xfffffff7
mov dword [esp + 0x18], eax
jmp 0x42485b
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x50], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x42484f
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x424873
call dword [0xa74208]
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], eax
jl 0x4249ff
mov dword [esp + 0x2c], 0x85a1fa14
mov dword [esp + 0x24], 0x79c90e69
mov dword [esp + 0x38], 0x3c47
mov dword [esp + 0x20], 0xb49f
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + ecx*4 + 0x50]
cmp ecx, dword [esp + 0x50]
jl 0x424917
mov dword [esp + 0x20], 0x61c0f806
mov dword [esp + 0x20], 0xffffffe4
jmp 0x424903
mov dword [esp + 0x28], 0xf2e9
mov dword [esp + 0x18], eax
jmp 0x4248e2
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x104], 0xd3aeb590
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x4248cf
inc dword [esp + 0x28]
mov dword [esp + 0x104], 0x860ec01e
mov dword [esp + 0x34], 0x860ec01e
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffffd
je 0x4248c1
mov dword [esp + 0x2c], 0xf38d927f
jmp 0x4249f2
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], 6
mov dword [esp + 0x30], 0xa9118158
mov dword [esp + 0x18], eax
jmp 0x424944
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x2cc], 0xfffffffb
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x424931
cmp dword [esp + 0x28], eax
jne 0x4249fc
mov ecx, dword [esp + 0x34]
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + ecx*4 + 0x50]
mov ecx, dword [esp + 0x28]
cmp ecx, edi
setle dl
xor ecx, ecx
cmp edx, esi
setg cl
add ecx, dword [esp + 0x24]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x34], ecx
je 0x42498c
mov edx, edi
cmp dword [esp + 0x38], eax
jne 0x42498e
mov edx, eax
mov ecx, dword [esp + 0x1c]
push 2
mov ecx, dword [esp + ecx*4 + 0x54]
xor ecx, ecx
cmp edx, 0x2967
setle cl
imul ecx, dword [esp + 0x20]
sub ecx, dword [esp + 0x54]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
neg ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + ecx*4 + 0x54]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x34]
cmp ecx, 4
mov ecx, dword [esp + 0x24]
setg bl
xor edx, edx
cmp ebx, ecx
pop ebx
setg dl
mov dword [esp + 0x2d0], edx
dec dword [esp + 0x1c]
jns 0x424881
push 3
pop esi
mov dword [esp + 0x10], 0xe57ad95e
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], 0x204e2db5
mov dword [esp + 0x10], 0xe
cmp dword [esp + 0x10], 0x1c
jge 0x424af2
push dword [esp + 0x68]
movdqa xmm0, xmmword [0xa70530]
lea ecx, [esp + 0x374]
push ecx
lea ecx, [esp + 0x368]
mov dword [esp + 0x20], 0xffffffff
push ecx
push eax
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd4], eax
movdqu xmmword [esp + 0x370], xmm0
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
call fcn.00401947
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
jg 0x424ac0
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 5
mov eax, dword [esp + 0x18]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xc4]
setge dl
mov dword [eax + 8], edx
mov eax, dword [esp + 0x18]
sub eax, edx
sub eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x10]
je 0x424ac0
mov eax, edi
jmp 0x424ac2
xor eax, eax
mov dword [esp + 0x28], eax
lea ecx, [esp + 0xc4]
mov eax, dword [esp + 0xc4]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
call fcn.004014fa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x1c
push 0
pop eax
jl 0x424a26
mov dword [esp + 0x18], eax
jmp 0x424b0b
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x10c], 0x2910a83a
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x424af8
push 4
lea ecx, [esp + 0x26c]
call fcn.00401428
mov dword [esp + 0x18], 0xfffffffa
mov dword [esp + 0x18], 0
jmp 0x424b47
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x268]
mov dword [eax + ecx*4], 0x28c176b0
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x424b31
mov dword [esp + 0x18], esi
cmp dword [esp + 0x18], 0
jl 0x424b73
mov dword [esp + 0x24], 0xc662
mov dword [esp + 0x24], 0x22b16580
mov eax, dword [esp + 0x18]
dec dword [esp + 0x18]
jns 0x424b59
lea ecx, [esp + 0x268]
call fcn.004014fa
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x42630c
mov dword [esp + 0x1c], 0x8d4081c2
mov dword [esp + 0x18], eax
jmp 0x424bab
cmp dword [esp + 0x34], 0xffffffe5
jle 0x424b8a
mov eax, dword [esp + 0xa8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret