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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
push ebx
mov dword [esp + 0x30], 0x29af
cmp dword [esp + 0x30], 0x2b71
push esi
push edi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x50], 0xabf3a8
jle 0x40525a
push 0
call dword [0x1efd428]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x10], esi
xor edi, edi
mov dword [esp + 0x14], edi
and dword [esp + 0x18], 0
mov ecx, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x54], esi
sar esi, cl
mov ecx, edi
mov eax, esi
shl eax, cl
or eax, ebx
cdq
mov dword [esp + 0x98], eax
lea eax, [esp + 0x98]
push 0x2e40
push eax
push 0
mov dword [esp + 0xa8], edx
call fcn.004067d1
add esp, 0xc
inc edi
cmp edi, 0xac3
jl 0x4051f8
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
cmp edi, 0x2513
jl 0x4051e7
inc esi
mov dword [esp + 0x10], esi
cmp esi, 0x5b07
jl 0x4051e1
inc ebx
cmp ebx, 0x5a8f
jl 0x4051db
mov dword [esp + 0x10], 0x4595
cmp dword [esp + 0x10], 0x4953
mov dword [esp + 0x44], 0xabf400
jle 0x405282
push 0x39d7
push 0
call fcn.0040abc6
pop ecx
pop ecx
mov dword [esp + 0x5c], 5
cmp dword [esp + 0x10], 0x44ff
jge 0x4052a8
push 0x76c3
lea eax, [esp + 0x48]
push 0
push eax
call fcn.0040a4df
add esp, 0xc
mov dword [esp + 0x74], 0x4c865b49
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x18], 6
mov dword [esp + 0x34], 0x67b5
cmp dword [esp + 0x34], 0x6a3a
mov dword [esp + 0x70], 0xabf464
jle 0x40533f
push 0
push 0
push 0
call dword [0x1efd04c]
xor edi, edi
xor esi, esi
mov dword [esp + 0x10], esi
mov ebx, esi
mov esi, 0x541b
mov ecx, ebx
mov eax, edi
shl eax, cl
cdq
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
push 0x6238
push eax
push 0
mov dword [esp + 0x98], edx
call fcn.0041b6c2
add esp, 0xc
dec ebx
dec esi
jne 0x4052f5
mov esi, dword [esp + 0x10]
inc esi
mov dword [esp + 0x10], esi
cmp esi, 0x5048
jl 0x4052ee
inc edi
cmp edi, 0x3113
jl 0x4052e8
lea eax, [esp + 0x34]
mov dword [esp + 0x18], 0xad5a519d
push eax
xor ebx, ebx
lea eax, [esp + 0x74]
push ebx
push eax
call fcn.0041558a
mov dword [esp + 0x1c], 0x40d0
add esp, 0xc
cmp dword [esp + 0x10], 0x4303
mov dword [esp + 0x4c], 0xabf494
jle 0x4053ca
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebx
push ebx
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.00406f65
mov eax, dword [esp + 0x38]
add esp, 0x10
inc eax
mov dword [esp + 0x28], eax
cmp eax, 0x1e2f
jl 0x405382
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, 0x6321
jl 0x40537e
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, 0x11c9
jl 0x40537a
mov dword [esp + 0x40], 0xb69b2e41
cmp dword [esp + 0x10], 0x4038
jge 0x4053f5
push ebx
push 0x1413
push ebx
lea eax, [esp + 0x58]
push 0x90f
push eax
call fcn.004126ae
add esp, 0x14
mov dword [esp + 0x10], 0x15d4
cmp dword [esp + 0x10], 0x16d7
mov dword [esp + 0x64], 0xabf4c8
jle 0x405461
mov esi, ebx
mov edi, ebx
mov eax, edi
and eax, esi
push 1
cdq
push 0x4395
mov dword [esp + 0x98], eax
lea eax, [esp + 0x98]
push ebx
push eax
push 0x128e
mov dword [esp + 0xa8], edx
call fcn.004126ae
add esp, 0x14
inc edi
cmp edi, 0x163b
jl 0x405413
inc esi
cmp esi, 0x5b81
jl 0x405411
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0x1efd458]
mov dword [esp + 0x18], 0x8807383c
cmp dword [esp + 0x10], 0x15a4
jge 0x40547e
lea eax, [esp + 0x64]
push eax
call fcn.00405772
pop ecx
mov dword [esp + 0x10], 0x51ff
cmp dword [esp + 0x10], 0x554d
jle 0x4054d4
mov esi, ebx
mov edi, ebx
mov ebx, 0x2807
mov eax, edi
cdq
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
push eax
push 0x6171
push 0x873
push 0
mov dword [esp + 0xb4], edx
call fcn.0040b6e8
add esp, 0x10
add edi, esi
dec ebx
jne 0x405499
inc esi
cmp esi, 0x788b
jl 0x405492
mov dword [esp + 0x6c], 0xfd061a65
cmp dword [esp + 0x10], 0x4e31
jge 0x4054f5
mov edx, 0xabf518
mov ecx, 0xad3d78
call fcn.0042f475
mov dword [esp + 0x18], 0x29ed890f
mov dword [esp + 0x10], 0x39e5
cmp dword [esp + 0x10], 0x3d24
mov dword [esp + 0x3c], 0xabf568
jle 0x405583
push 0x61a7
push ebx
push 0x6c27
call fcn.004068ca
add esp, 0xc
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
lea eax, [esp + 0x1c]
push eax
push ebx
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push 0x4a3e
push eax
call fcn.0040678d
mov eax, dword [esp + 0x38]
add esp, 0x14
inc eax
mov dword [esp + 0x24], eax
cmp eax, 0x68a3
jl 0x405536
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, 0x5a2e
jl 0x405532
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, 0x6795
jl 0x40552e
mov dword [esp + 0x18], 0xb2bc
cmp dword [esp + 0x10], 0x3801
jge 0x4055a8
push ebx
lea eax, [esp + 0x40]
push eax
push 0x7025
call fcn.00424a7c
add esp, 0xc
mov dword [esp + 0x18], 4
mov dword [esp + 0x68], 0xa9172c2e
mov dword [esp + 0x60], 0xc911b6be
mov dword [esp + 0x14], ebx
jmp 0x4055d9
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xac], 0xa0c8d467
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x4055c6
mov dword [esp + 0x14], 0x5492
cmp dword [esp + 0x14], 0x55c4
mov dword [esp + 0x48], 0xabf5c8
jle 0x405670
push ebx
call dword [0x1efd408]
mov esi, ebx
mov dword [esp + 0x10], ebx
mov edi, ebx
mov dword [esp + 0x18], ebx
mov ecx, edi
mov ebx, esi
mov esi, dword [esp + 0x18]
shl ebx, cl
mov ecx, esi
mov eax, ebx
shl eax, cl
cdq
mov dword [esp + 0x78], eax
lea eax, [esp + 0x78]
push eax
push 0
push 0x1798
mov dword [esp + 0x88], edx
call fcn.00419e6d
add esp, 0xc
inc esi
cmp esi, 0x7722
jl 0x405617
mov esi, dword [esp + 0x10]
inc edi
push 0
pop ebx
cmp edi, 0x2f35
jl 0x405609
inc esi
mov dword [esp + 0x10], esi
cmp esi, 0x2336
jl 0x405607
push 0x9ce
push ebx
call fcn.0041f023
pop ecx
pop ecx
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x60]
push eax
push ebx
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x78]
push eax
push 0x7618
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.00406ed1
add esp, 0x20
cmp dword [esp + 0x14], 0x53cc
jge 0x4056c1
push ebx
push 0x760
lea eax, [esp + 0x50]
push eax
push 0x2c6a
call fcn.00407285
add esp, 0x10
cmp dword [esp + 0x38], 0x2686
jge 0x4056e3
push ebx
push 0x2862
lea eax, [esp + 0x58]
push eax
push 0x368d
call fcn.0040bffe
add esp, 0x10
lea eax, [esp + 0xb0]
push eax
call fcn.004020af
mov esi, eax
lea edi, [esp + 0x7c]
pop ecx
mov ecx, dword [esp + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00405191
mov ecx, eax
mov eax, dword [esp + 0x80]
pop edi
pop esi
pop ebx
mov eax, dword [eax + ecx*8 + 4]
mov esp, ebp
pop ebp
ret