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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5d4
push ebx
push esi
push edi
mov dword [esp + 0x2ac], edx
mov dword [esp + 0x1b0], ecx
call fcn.0041620c
push 3
pop esi
mov dword [esp + 0x11c], 0xaed23b61
lea ecx, [esp + 0x2bc]
mov dword [esp + 0x24], 0x6c902daf
push esi
call fcn.00413e02
xor edi, edi
mov dword [esp + 0x34], 0xffffffff
inc edi
xor eax, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x28], 0xf54c3dc4
mov dword [esp + 0x298], 8
mov dword [esp + 0x80], eax
jmp 0x41ba05
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x2bc]
mov dword [ecx + edx*4], 0x981f
inc dword [esp + 0x80]
cmp dword [esp + 0x80], esi
jl 0x41b9e9
mov dword [esp + 0x80], eax
jmp 0x41ba2c
mov ecx, dword [esp + 0x80]
mov dword [esp + ecx*4 + 0x4ac], edi
inc dword [esp + 0x80]
cmp dword [esp + 0x80], esi
jl 0x41ba17
mov ebx, dword [0xab72b4]
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], al
je 0x41ba5d
push 0x10a4
push eax
call ebx
push eax
call dword [0xab7298]
push eax
call dword [0xab704c]
xor eax, eax
cmp dword [esp + 0x11c], 0x38ec
jne 0x41bb76
cmp dword [esp + 0x11c], eax
jne 0x41bb76
cmp dword [esp + 0x24], eax
je 0x41ba94
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x2bc]
cmp dword [esi], ecx
jl 0x41ba9b
mov ecx, edi
jmp 0x41ba9d
mov esi, dword [esp + 0x2bc]
mov ecx, eax
xor edx, edx
cmp ecx, 0xfffffffe
setg dl
xor ecx, ecx
cmp edx, dword [esi]
setle cl
cmp ecx, 0xb4ef
je 0x41bb73
mov dword [esp + 0x14], 0x8f928d9b
mov ecx, 0xe7aebb1b
mov dword [esp + 0x36c], ecx
mov dword [esp + 0x370], ecx
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], ecx
mov dword [esp + 0x1ec], edi
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x11c], eax
jne 0x41bb00
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x370], ecx
mov ecx, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x36c]
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 + 0x28], edx
je 0x41bb5d
cmp dword [esp + 0x14], eax
je 0x41bb5d
cmp dword [esp + 0x11c], eax
je 0x41bb5d
mov eax, edi
add eax, 0xa
push 3
mov dword [esp + 0x2c], eax
inc dword [esp + 0x1f0]
pop esi
jmp 0x41bc28
push 3
pop esi
mov dword [esp + 0x3c], 0xffffffff
lea ecx, [esp + 0x38c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0xf0a86225
push esi
call fcn.00413e02
mov dword [esp + 0x2c], 0x83564f69
mov dword [esp + 0x24], 0x51ca2ae3
mov dword [esp + 0x108], 0
jmp 0x41bbd0
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x38c]
mov dword [eax + ecx*4], 0x1449babe
inc dword [esp + 0x108]
cmp dword [esp + 0x108], esi
jl 0x41bbb4
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov eax, dword [esp + 0x4ac]
dec dword [esp + 0x24]
mov eax, dword [esp + 0x24]
test eax, eax
mov eax, dword [esp + 0x3c]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x38c]
lea ecx, [esp + 0x38c]
setg dl
mov dword [eax], edx
mov dword [esp + 0x4ac], edx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x298], eax
call fcn.00413ed4
lea ecx, [esp + 0x2bc]
call fcn.00413ed4
mov dword [esp + 0x1c], 0x7937
xor eax, eax
mov dword [esp + 0x20], 0xfd47030f
mov dword [esp + 0x34], 0xa3821c76
mov dword [esp + 0x10], eax
jmp 0x41bc67
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x4b8], 0x3388
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x41bc54
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x1bab
mov ecx, edi
setne dl
sub ecx, edx
sub ecx, dword [esp + 0x1c]
je 0x41bd43
mov dword [esp + 0x24], 0x62b994b7
mov dword [esp + 0x28], 0xfffffff8
mov dword [esp + 0x1c], 0x18
jmp 0x41bd33
mov dword [esp + 0x14], 0x51554671
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x41bcd5
push eax
call ebx
push eax
call dword [0xab7298]
push eax
call dword [0xab7044]
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x41bd28
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x24], eax
jle 0x41bcf1
mov ecx, edi
cmp dword [esp + 0x1c], eax
jne 0x41bcf3
mov ecx, eax
xor edx, edx
cmp ecx, 0xfffffffa
sete dl
sub edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
neg edx
sbb edx, edx
inc edx
add edx, dword [esp + ecx*4 + 0x4b8]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jle 0x41bcdb
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x32
jl 0x41bcaf
jmp 0x41bde4
mov dword [esp + 0xb0], 9
mov dword [esp + 0x1c], eax
jmp 0x41bd97
mov dword [esp + 0x54], eax
xor edx, edx
mov ecx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x4bc]
imul ecx, dword [esp + 0x54]
cmp ecx, edi
mov ecx, dword [esp + 0x54]
setge dl
sub edx, ecx
xor ecx, ecx
cmp edx, 0x6ea1325a
setl cl
mov dword [esp + 0x20], ecx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xf
jne 0x41bd54
cmp dword [esp + 0xb0], eax
je 0x41bdc9
mov dword [esp + 0x28c], 0x2c5a4ecb
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x2a4], eax
jmp 0x41bde4
mov byte [esp + 0xd1], al
cmp byte [esp + 0xd1], al
je 0x41bde4
push 0xdc
call dword [0xab7124]
mov dword [esp + 0xac], 0x324ec2e0
lea ecx, [esp + 0x3f8]
push edi
call fcn.00413e02
mov dword [esp + 0x10], 0xdce9
lea ecx, [esp + 0x3b0]
push esi
call fcn.00413e02
mov dword [esp + 0x2c], 0xa0f0f5eb
mov dword [esp + 0x74], 0
jmp 0x41be39
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x3b0]
mov dword [eax + ecx*4], 0x621ec218
inc dword [esp + 0x74]
cmp dword [esp + 0x74], esi
jl 0x41be23
mov dword [esp + 0x74], 0
jmp 0x41be5c
mov eax, dword [esp + 0x74]
mov dword [esp + eax*4 + 0x468], 0xfffffffe
inc dword [esp + 0x74]
cmp dword [esp + 0x74], 2
jl 0x41be49
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
inc ecx
inc eax
imul ecx, eax
imul edx, ecx, 0x18d3
add edx, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [esp + 0x10]
mov eax, dword [esp + 0x3b0]
imul edx, dword [eax]
mov eax, dword [esp + 0x10]
add eax, 9
cmp eax, edx
setl cl
mov dword [esp + 0x46c], ecx
lea ecx, [esp + 0x3b0]
call fcn.00413ed4
push 5
pop eax
mov dword [esp + 0x438], eax
mov dword [esp + 0x43c], eax
mov dword [esp + 0x440], eax
mov dword [esp + 0x444], eax
xor eax, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], 0x6cae8ef3
mov dword [esp + 0x10], eax
jmp 0x41bef9
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x57c], 6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x41bee6
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0x1b
jl 0x41c0ff
push dword [esp + 0x1b0]
movdqa xmm0, xmmword [0xaaddb0]
lea ecx, [esp + 0x52c]
push ecx
lea ecx, [esp + 0x520]
mov dword [esp + 0x1e4], eax
push ecx
push eax
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x1f0], eax
movdqu xmmword [esp + 0x528], xmm0
mov dword [esp + 0x1f4], eax
call fcn.00415616
mov byte [esp + 0xd3], 0
cmp byte [esp + 0xd3], 0
je 0x41bf7d
push 0
push 0
push 0xf66
call ebx
push eax
call dword [0xab72ac]
mov eax, dword [esp + 0x1dc]
and dword [eax], 0
push edi
lea ecx, [esp + 0x420]
call fcn.00413e02
xor eax, eax
mov dword [esp + 0x34], 7
mov dword [esp + 0x64], eax
jmp 0x41bfba
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x41c]
mov dword [ecx + edx*4], 0x2d672a83
inc dword [esp + 0x64]
cmp dword [esp + 0x64], edi
jl 0x41bfa4
mov dword [esp + 0x64], eax
jmp 0x41bfd9
mov ecx, dword [esp + 0x64]
mov dword [esp + ecx*4 + 0xe8], 0xd6c3f0bc
inc dword [esp + 0x64]
cmp dword [esp + 0x64], edi
jl 0x41bfc6
mov dword [esp + 0xe8], eax
cmp dword [esp + 0xe8], eax
jl 0x41c0ba
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x34], 2
mov dword [esp + 0x28], 0xf2ef51ae
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], 0x195c588c
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x34], eax
je 0x41c05a
mov ecx, dword [esp + 0x24]
xor edx, edx
cmp dword [ebx + 0xc], eax
mov esi, edi
setl dl
xor ebx, ebx
sub edx, ecx
mov ecx, dword [esp + 0x1dc]
cmp edx, 5
setg bl
sub ebx, 0xd764ce34
neg ebx
sbb ebx, ebx
inc ebx
cmp ebx, dword [ecx]
mov ebx, dword [esp + 0x54]
je 0x41c05c
mov esi, eax
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x41c]
mov dword [ecx + edx*4], esi
xor edx, edx
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x588]
mov ecx, dword [esp + 0xe8]
test ecx, ecx
sets dl
xor ecx, ecx
cmp edx, 0x8a16
setne cl
xor edx, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
cmp ecx, dword [ebx + 0xc]
setle dl
mov dword [esp + 0x28], edx
dec dword [esp + 0xe8]
jns 0x41bffe
lea ecx, [esp + 0x41c]
call fcn.00413ed4
mov eax, dword [esp + 0x1dc]
dec dword [eax]
cmp dword [eax], 0xffffffe3
jne 0x41bf87
lea ecx, [esp + 0x1dc]
call fcn.00413ed4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x1b
mov ebx, dword [0xab72b4]
push 0
pop eax
jge 0x41bf0f
push 3
pop esi
mov dword [esp + 0x124], eax
jmp 0x41c124
mov ecx, dword [esp + 0x124]
mov eax, dword [esp + 0x3f8]
mov dword [eax + ecx*4], 0xb07d0d1d
inc dword [esp + 0x124]
cmp dword [esp + 0x124], edi
jl 0x41c108
mov dword [esp + 0x134], 0xaed23b61
lea ecx, [esp + 0x2c8]
mov dword [esp + 0x24], 0x6c902daf
push esi
call fcn.00413e02
mov dword [esp + 0x34], 0xffffffff
xor eax, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x28], 0xf54c3dc4
mov dword [esp + 0x244], 8
mov dword [esp + 0x68], eax
jmp 0x41c18a
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x2c8]
mov dword [ecx + edx*4], 0x981f
inc dword [esp + 0x68]
cmp dword [esp + 0x68], esi
jl 0x41c174
mov dword [esp + 0x68], eax
jmp 0x41c1a5
mov ecx, dword [esp + 0x68]
mov dword [esp + ecx*4 + 0x4c4], edi
inc dword [esp + 0x68]
cmp dword [esp + 0x68], esi
jl 0x41c196
mov byte [esp + 0xd7], al
cmp byte [esp + 0xd7], al
je 0x41c1d3
push 0x10a4
push eax
call ebx
push eax
call dword [0xab7298]
push eax
call dword [0xab704c]
xor eax, eax
cmp dword [esp + 0x134], 0x38ec
jne 0x41c2ec
cmp dword [esp + 0x134], eax
jne 0x41c2ec
cmp dword [esp + 0x24], eax
je 0x41c20a
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c8]
cmp dword [esi], ecx
jl 0x41c211
mov ecx, edi
jmp 0x41c213
mov esi, dword [esp + 0x2c8]
mov ecx, eax
xor edx, edx
cmp ecx, 0xfffffffe
setg dl
xor ecx, ecx
cmp edx, dword [esi]
setle cl
cmp ecx, 0xb4ef
je 0x41c2e9
mov dword [esp + 0x14], 0x8f928d9b
mov ecx, 0xe7aebb1b
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x340], ecx
mov dword [esp + 0x344], ecx
mov dword [esp + 0x348], ecx
mov dword [esp + 0x1a0], edi
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x134], eax
jne 0x41c276
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x33c]
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 + 0x28], edx
je 0x41c2d3
cmp dword [esp + 0x14], eax
je 0x41c2d3
cmp dword [esp + 0x134], eax
je 0x41c2d3
mov eax, edi
add eax, 0xa
push 3
mov dword [esp + 0x2c], eax
inc dword [esp + 0x1a4]
pop esi
jmp 0x41c39e
push 3
pop esi
mov dword [esp + 0x3c], 0xffffffff
lea ecx, [esp + 0x3bc]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0xf0a86225
push esi
call fcn.00413e02
mov dword [esp + 0x2c], 0x83564f69
mov dword [esp + 0x24], 0x51ca2ae3
mov dword [esp + 0x12c], 0
jmp 0x41c346
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x3bc]
mov dword [eax + ecx*4], 0x1449babe
inc dword [esp + 0x12c]
cmp dword [esp + 0x12c], esi
jl 0x41c32a
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov eax, dword [esp + 0x4c4]
dec dword [esp + 0x24]
mov eax, dword [esp + 0x24]
test eax, eax
mov eax, dword [esp + 0x3c]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x3bc]
lea ecx, [esp + 0x3bc]
setg dl
mov dword [eax], edx
mov dword [esp + 0x4c4], edx
mov eax, dword [esp + 0x134]
mov dword [esp + 0x244], eax
call fcn.00413ed4
lea ecx, [esp + 0x2c8]
call fcn.00413ed4
xor eax, eax
mov dword [esp + 0xac], eax
jmp 0x41c7d9
mov dword [esp + 0x8c], 0x3d9532bb
mov dword [esp + 0x14], 0xd4081c29
mov dword [esp + 0x10], eax
jmp 0x41c3e0
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x47c], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x41c3d1
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], eax
jl 0x41c4ea
mov dword [esp + 0x30], 2
mov dword [esp + 0x30], edi
cmp dword [esp + 0x30], eax
jl 0x41c4e0
mov dword [esp + 0x20], 0x9b8bc588
mov byte [esp + 0xdb], al
cmp byte [esp + 0xdb], 0
je 0x41c430
push eax
call ebx
push eax
call dword [0xab7288]
xor eax, eax
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], eax
jl 0x41c4d6
mov dword [esp + 0x10], eax
jmp 0x41c457
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x214], 0xfffffffc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x41c444
mov dword [esp + 0x218], eax
jmp 0x41c47f
mov ecx, dword [esp + 0x218]
mov dword [esp + ecx*4 + 0x47c], 0x9d43467
inc dword [esp + 0x218]
cmp dword [esp + 0x218], 2
jl 0x41c466
mov byte [esp + 0xe1], al
cmp byte [esp + 0xe1], 0
je 0x41c4cc
push 0xb79
push eax
push 0x1861
push 0x47e
push 0x2703
push eax
push 0x7be
push 0xc35
call ebx
push eax
call dword [0xab7298]
push eax
call dword [0xab728c]
xor eax, eax
dec dword [esp + 0x20]
jns 0x41c43e
dec dword [esp + 0x30]
jns 0x41c40b
dec dword [esp + 0x14]
jns 0x41c3f5
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x41c507
push 0x1df3
push eax
push eax
call ebx
push eax
call dword [0xab72b0]
xor eax, eax
mov dword [esp + 0xa8], 0x29b3
mov dword [esp + 0x8c], eax
jmp 0x41c7c4
mov dword [esp + 0xa4], 0xffff
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 0xfe387fb0
mov dword [esp + 0x2c], 0xc1ec2db2
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x2c], edi
mov dword [esp + 0x2c], 0xf3c34eea
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1b4], 5
mov dword [esp + 0x10], eax
jmp 0x41c581
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x464], 0x74b1b055
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x41c56e
inc dword [esp + 0x1b4]
mov byte [esp + 0xe3], al
cmp byte [esp + 0xe3], 0
je 0x41c5ac
push eax
push eax
push eax
push eax
push eax
call dword [0xab710c]
xor eax, eax
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x410]
mov dword [esp + 0x248], 0xd313dd33
push edi
call fcn.00413e02
mov dword [esp + 0x240], 0xa66f
mov dword [esp + 0x10], 0
jmp 0x41c5f3
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x410]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x41c5dd
lea eax, [esp + 0x240]
push eax
lea edx, [esp + 0x414]
lea ecx, [esp + 0x24c]
call fcn.0041b3ca
pop ecx
lea ecx, [esp + 0x410]
call fcn.00413ed4
cmp dword [esp + 0xac], 0
je 0x41c81f
mov dword [esp + 0x2b0], 0xd59e57ad
lea ecx, [esp + 0x2e0]
mov dword [esp + 0x268], 0x2b90f998
mov dword [esp + 0x258], 0xef3c
mov dword [esp + 0xdc], 7
mov dword [esp + 0x2a8], 0xfffffff9
push edi
call fcn.00413e02
mov dword [esp + 0x13c], 0
jmp 0x41c69c
mov ecx, dword [esp + 0x13c]
mov eax, dword [esp + 0x2e0]
mov dword [eax + ecx*4], 0x30bca0be
inc dword [esp + 0x13c]
cmp dword [esp + 0x13c], edi
jl 0x41c680
lea eax, [esp + 0x2e0]
push eax
lea eax, [esp + 0x25c]
push eax
lea eax, [esp + 0x270]
push eax
lea eax, [esp + 0xe8]
push eax
lea edx, [esp + 0x2b8]
lea ecx, [esp + 0x2c0]
call fcn.0041b52e
add esp, 0x10
mov dword [esp + 0xdc], 0
jmp 0x41c704
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0x2e0]
mov dword [eax + ecx*4], 0xc844fc3
inc dword [esp + 0xdc]
cmp dword [esp + 0xdc], edi
jl 0x41c6e8
lea ecx, [esp + 0x2e0]
call fcn.00413ed4
mov dword [esp + 0x1a8], 0x746e33a7
mov eax, dword [esp + 0xac]
mov eax, dword [esp + 0x1a8]
mov eax, dword [esp + 0xa8]
dec dword [esp + 0xa8]
mov eax, dword [esp + 0xa4]
mov eax, dword [esp + 0x8c]
xor eax, eax
cmp dword [esp + 0x8c], eax
jne 0x41c764
mov ecx, eax
cmp dword [esp + 0x1a8], eax
je 0x41c766
mov ecx, edi
cmp ecx, dword [esp + 0x8c]
jne 0x41c77a
mov esi, edi
cmp dword [esp + 0xa4], eax
jne 0x41c77c
mov esi, eax
mov ecx, dword [esp + 0xac]
xor edx, edx
cmp esi, ecx
mov esi, dword [esp + 0x8c]
push 3
setge dl
cmp edi, edx
sbb ecx, ecx
inc ecx
cmp ecx, 0xe81de982
sbb ecx, ecx
xor edx, edx
neg ecx
imul esi, ecx
mov ecx, dword [esp + 0xa8]
cmp esi, ecx
mov ecx, dword [esp + 0x3fc]
pop esi
setge dl
mov dword [ecx], edx
dec dword [esp + 0x8c]
cmp dword [esp + 0x8c], 0xffffffef
je 0x41c51e
inc dword [esp + 0xac]
cmp dword [esp + 0xac], 5
jle 0x41c3b8
call fcn.0041b70f
lea ecx, [esp + 0x3f8]
call fcn.00413ed4
push 2
lea ecx, [esp + 0x2fc]
call fcn.00413e02
xor eax, eax
mov dword [esp + 0x100], 0xffffffff
mov dword [esp + 0x110], eax
jmp 0x41cd58
mov dword [esp + 0x144], edi
mov dword [esp + 0x144], 0
jmp 0x41c89c
mov dword [esp + 0x10], 0xa18885c6
mov dword [esp + 0x10], 7
jmp 0x41c88e
mov byte [esp + 0xe5], 0
cmp byte [esp + 0xe5], 0
je 0x41c86c
push 0x20bf
push 0x2144
call ebx
push eax
push 0
call dword [0xab7284]
mov byte [esp + 0x1b], 0
cmp byte [esp + 0x1b], 0
je 0x41c88a
push 0xe96
push 0xef8
push 0
call dword [0xab729c]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff1
jle 0x41c845
inc dword [esp + 0x144]
cmp dword [esp + 0x144], 0xf
jge 0x41c833
mov dword [esp + 0x98], 0x728ad64d
lea edx, [esp + 0x2b8]
mov dword [esp + 0x2a0], 4
lea ecx, [esp + 0x2a0]
mov dword [esp + 0x2b8], 0xfffffff6
call fcn.0041ae7a
mov byte [esp + 0x1b], 0
cmp byte [esp + 0x1b], 0
je 0x41c8f6
push 0x2521
push 0
call ebx
push eax
call dword [0xab72a0]
call fcn.0041b185
xor eax, eax
mov dword [esp + 0x94], 0x125d16df
mov dword [esp + 0x10], eax
jmp 0x41c91d
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x58c], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x41c90e
mov dword [esp + 0x94], eax
jmp 0x41c965
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x41c941
push eax
push eax
call dword [0xab72a4]
xor eax, eax
mov byte [esp + 0xe7], al
cmp byte [esp + 0xe7], 0
je 0x41c95e
push eax
call ebx
push eax
call dword [0xab72c0]
xor eax, eax
inc dword [esp + 0x94]
cmp dword [esp + 0x94], 2
jle 0x41c92c
mov dword [esp + 0x94], eax
jmp 0x41c99f
mov byte [esp + 0xc5], al
cmp byte [esp + 0xc5], 0
je 0x41c998
push eax
push 0xb4c
push eax
call dword [0xab7048]
xor eax, eax
inc dword [esp + 0x94]
cmp dword [esp + 0x94], esi
jle 0x41c978
mov dword [esp + 0x10], eax
jmp 0x41c9c1
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x548], 9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x41c9ae
mov dword [esp + 0x104], 2
mov dword [esp + 0xc0], 0xc7ce
dec dword [esp + 0xc0]
mov dword [esp + 0x104], 0xfffffff5
jmp 0x41ca3b
mov dword [esp + 0x260], edi
mov dword [esp + 0xc0], eax
jmp 0x41ca2a
mov dword [esp + 0x274], 0xffffffff
cmp dword [esp + 0x104], eax
jne 0x41ca34
mov ecx, dword [esp + 0x260]
mov dword [esp + 0x274], ecx
inc dword [esp + 0xc0]
cmp dword [esp + 0xc0], 0x27
jne 0x41ca01
inc dword [esp + 0x104]
cmp dword [esp + 0x104], 0xfffffffc
jg 0x41c9f1
inc dword [esp + 0x98]
call fcn.004130af
mov dword [esp + 0xa8], 0xfffffff9
xor eax, eax
cmp dword [esp + 0xa8], 0xa
jne 0x41c7bd
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x10], eax
jne 0x41caa2
mov ecx, dword [esp + 0x98]
mov edx, eax
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x98]
imul ecx, dword [esp + 0x10]
cmp ecx, 0x95f87b70
je 0x41caa4
mov edx, edi
mov ecx, dword [esp + 0x43c]
sub edx, ecx
mov dword [esp + 0x550], edx
mov dword [esp + 0x3c], 0xd29be1d9
mov dword [esp + 0x10], eax
jmp 0x41cad1
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x490], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x41cac2
mov ecx, dword [esp + 0x490]
mov dword [esp + 0x3c], ecx
mov byte [esp + 0xc6], al
cmp byte [esp + 0xc6], 0
je 0x41cafd
push eax
call dword [0xab72c8]
xor eax, eax
mov dword [esp + 0xa4], eax
cmp dword [esp + 0xa4], 5
jg 0x41cd30
call fcn.0041b616
mov dword [esp + 0x294], 0xa746c20b
lea ecx, [esp + 0x3c8]
mov dword [esp + 0x14], 0x4f2887cf
mov dword [esp + 0x2c], 0xa0a9f4f9
mov dword [esp + 0xb0], 0xda99da97
mov dword [esp + 0x24], 0xbfad0d72
mov dword [esp + 0x34], 0x2b752bf3
push edi
call fcn.00413e02
xor eax, eax
mov dword [esp + 0x10], 4
mov dword [esp + 0x84], eax
jmp 0x41cb7f
mov ecx, dword [esp + 0x84]
mov dword [esp + ecx*4 + 0x58], eax
inc dword [esp + 0x84]
cmp dword [esp + 0x84], edi
jl 0x41cb6d
mov dword [esp + 0x84], eax
jmp 0x41cbad
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x3c8]
mov dword [ecx + edx*4], 0x4d4e
inc dword [esp + 0x84]
cmp dword [esp + 0x84], edi
jl 0x41cb91
mov dword [esp + 0x58], eax
jmp 0x41cbf5
mov dword [esp + 0x34], 0x45db
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x41cbe1
call ebx
push eax
call dword [0xab7298]
push eax
call dword [0xab7060]
xor eax, eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], ecx
dec dword [esp + 0x58]
cmp dword [esp + 0x58], 0xffffffe8
jl 0x41cbbc
mov dword [esp + 0x14], eax
jmp 0x41ccda
mov dword [esp + 0x54], eax
lea ecx, [esp + 0x4fc]
mov dword [esp + 0x2c], 0xe9f9034e
mov dword [esp + 0x3c], 0x8142c78e
push 2
call fcn.00413e02
mov dword [esp + 0x14c], 0
jmp 0x41cc50
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x4fc]
mov dword [eax + ecx*4], 5
inc dword [esp + 0x14c]
cmp dword [esp + 0x14c], 2
jl 0x41cc34
mov ecx, dword [esp + 0x3c8]
mov eax, dword [ecx]
dec dword [ecx]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x58]
cmp eax, dword [esp + 0x3c]
je 0x41cc8e
cmp dword [esp + 0x54], 0
je 0x41cc92
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x58]
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0xb0]
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x58]
mov eax, dword [esp + 0x10]
dec eax
neg eax
sbb eax, eax
add eax, 0xfffffff9
imul ecx, eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x4fc]
call fcn.00413ed4
inc dword [esp + 0x14]
xor eax, eax
cmp dword [esp + 0x14], eax
jle 0x41cc05
lea ecx, [esp + 0x3c8]
call fcn.00413ed4
mov dword [esp + 0x98], 0xb
jmp 0x41cd0f
mov dword [esp + 0x294], 0x1262954f
inc dword [esp + 0x98]
cmp dword [esp + 0x98], 0x17
jge 0x41ccfd
inc dword [esp + 0xa4]
cmp dword [esp + 0xa4], 5
jle 0x41cb12
xor eax, eax
inc dword [esp + 0xa8]
jmp 0x41ca5e
mov edx, dword [esp + 0x110]
mov ecx, dword [esp + 0x2f8]
mov dword [ecx + edx*4], 0x7862fd41
inc dword [esp + 0x110]
cmp dword [esp + 0x110], 2
jl 0x41cd3c
mov dword [esp + 0x100], edi
cmp dword [esp + 0x100], eax
jl 0x41cdcd
mov dword [esp + 0x114], 0xfffffff7
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x2f8]
mov ecx, dword [edx + ecx*4]
mov dword [edx], ecx
mov dword [esp + 0x114], edi
cmp dword [esp + 0x114], eax
jl 0x41cdc4
mov ecx, dword [esp + 0x100]
mov esi, dword [esp + 0x114]
mov edx, dword [esp + 0x2f8]
mov ecx, dword [edx + ecx*4]
mov dword [edx + esi*4], ecx
dec dword [esp + 0x114]
jns 0x41cda0
dec dword [esp + 0x100]
jns 0x41cd72
lea ecx, [esp + 0x2f8]
call fcn.00413ed4
push 4
pop esi
push 3
pop ebx
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x3e0]
push ebx
call fcn.00413e02
push edi
lea ecx, [esp + 0x4e8]
call fcn.00413e02
mov eax, 0x4bda99da
mov dword [esp + 0x2c], 0xfffffff7
mov dword [esp + 0x35c], eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x364], eax
mov dword [esp + 0x368], eax
xor eax, eax
mov dword [esp + 0x6c], eax
jmp 0x41ce44
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x3e0]
mov dword [ecx + edx*4], 7
inc dword [esp + 0x6c]
cmp dword [esp + 0x6c], ebx
jl 0x41ce2e
mov dword [esp + 0x6c], eax
jmp 0x41ce66
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x4e4]
mov dword [ecx + edx*4], 0x87cf2e56
inc dword [esp + 0x6c]
cmp dword [esp + 0x6c], edi
jl 0x41ce50
mov dword [esp + 0x20], eax
jmp 0x41cf14
mov dword [esp + 0xfc], 0x46df37d4
lea ecx, [esp + 0x4d8]
mov dword [esp + 0x2c], 0x4fc2285f
mov dword [esp + 0x2c], 0xdf3d37a5
mov dword [esp + 0x2c], 0xfffffff6
push esi
call fcn.00413e02
mov dword [esp + 0x10], 0
jmp 0x41cec5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x4d8]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x41ceaf
mov dword [esp + 0xfc], 0
jmp 0x41cef4
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0x3e0]
mov dword [eax + ecx*4], 5
inc dword [esp + 0xfc]
cmp dword [esp + 0xfc], ebx
jl 0x41ced8
inc dword [esp + 0x364]
lea ecx, [esp + 0x4d8]
call fcn.00413ed4
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xffffffea
jg 0x41ce75
lea ecx, [esp + 0x4e4]
call fcn.00413ed4
lea ecx, [esp + 0x3e0]
call fcn.00413ed4
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 0x565e08cc
mov dword [esp + 0x14], 0x7632667a
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], 0x1d933bd
mov dword [esp + 0x10], eax
jmp 0x41cf72
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x230], 0xfffffffb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x41cf5f
mov dword [esp + 0x14], eax
jmp 0x41d038
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x14]
cmp dword [esp + ecx*4 + 0x230], eax
je 0x41cffd
mov ecx, dword [esp + 0x238]
cmp dword [esp + 0x23c], eax
je 0x41cfaa
mov ecx, edi
cmp dword [esp + 0x14], eax
jne 0x41cfac
mov ecx, eax
mov edx, 0xe0d1b713
mov esi, edi
cmp edx, ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x23c]
mov ecx, dword [esp + 0x230]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + ecx*4 + 0x230]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + ecx*4 + 0x230]
cmp ecx, edi
mov ecx, dword [esp + 0x14]
setg dl
sub edx, dword [esp + ecx*4 + 0x230]
neg edx
sbb edx, edx
inc edx
cmp edx, dword [esp + 0x14]
jl 0x41cfff
mov esi, eax
mov ecx, dword [esp + 0x3c]
xor edx, edx
cmp esi, ecx
setle dl
mov dword [esp + 0x28], edx
mov byte [esp + 0xd5], al
cmp byte [esp + 0xd5], cl
je 0x41d031
push 0xd76
push 0xf6e
push eax
call dword [0xab72c4]
xor eax, eax
inc dword [esp + 0x14]
push 4
pop esi
cmp dword [esp + 0x14], ebx
jle 0x41cf81
mov dword [esp + 0x2c], 0xb8575526
call fcn.0041af06
mov dword [esp + 0x1c], 0xdf99ff60
xor eax, eax
mov dword [esp + 0x20], 0x5c380a38
mov dword [esp + 0x34], eax
mov dword [esp + 0x10], 0x8f25ce5a
mov dword [esp + 0x28], 0x5d5d909c
push 2
mov dword [esp + 0x40], 0x4d126829
mov dword [esp + 0x20], eax
pop ebx
jmp 0x41d095
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x168], edi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jl 0x41d086
mov dword [esp + 0x1c], eax
jmp 0x41d0b0
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x4a4], edi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jl 0x41d0a1
mov dword [esp + 0x1c], eax
jmp 0x41d0cf
cmp dword [esp + 0x1c], edi
jl 0x41d0bc