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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x6058b7
sub esp, 0xa4
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x6058b1
mov eax, dword [esp + 0xb4]
mov ebx, edx
mov ecx, eax
xor edx, edx
div ebx
lea edx, [eax + 1]
mov ebx, dword [esp + 0xbc]
cmp ebx, edx
jb 0x6051ce
mov ebx, edx
test ecx, ecx
je 0x6053d6
cmp ecx, 0x80
jae 0x605208
mov ebx, dword [esp + 0xd0]
mov ebp, dword [ebx + 4]
inc ebp
mov esi, dword [ebx + 0x20]
cmp esi, ebp
jae 0x6056b7
test esi, esi
jne 0x6051ff
mov eax, ebp
jmp 0x6057e2
mov eax, ebp
mov ebp, esi
jmp 0x6057e2
mov dword [esp + 0x68], ebx
lea eax, [0x7475c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
call fcn.00603210
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x14], ebp
mov esi, dword [esp + 0x98]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
call fcn.00603470
lea eax, [0x7347e0]
mov dword [esp], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], eax
lea ecx, [0x733560]
mov dword [esp], ecx
mov edx, dword [esp + 0x68]
imul ebx, edx, 0x468
mov dword [esp + 0x78], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
lea ecx, [0x733560]
mov dword [esp], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
lea ecx, [0x7347e0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x68]
lea edx, [ecx + 7]
shr edx, 3
mov ebx, dword [esp + 0xb4]
imul edx, ebx
mov dword [esp + 0x80], edx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
lea ecx, [0x734720]
mov dword [esp], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xcc]
cmp dword [ecx + 4], 0xb
jge 0x6053bc
mov ecx, 3
jmp 0x6053c1
mov ecx, 0xa
mov dword [esp + 0x9c], eax
mov dword [esp + 0x5c], ecx
xor edx, edx
mov ebx, dword [esp + 0x68]
xor ebp, ebp
jmp 0x605404
mov eax, dword [esp + 0xd0]
mov dword [eax], 1
add esp, 0xa4
ret
mov edi, dword [esp + 0x64]
inc edi
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x5c]
mov edx, edi
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x74]
cmp ecx, edx
jbe 0x60555f
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 8], edx
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0xc], ebp
movsd xmm0, qword [esp + 0xc4]
movsd qword [esp + 0x10], xmm0
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0x98]
mov dword [esp + 0x1c], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x90]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
call fcn.006036f0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov edx, dword [esp + 0xb4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x1c], esi
call fcn.00603dd0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], eax
nop
nop
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x68]
xor ebx, ebx
jmp 0x6055f3
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x94]
mov dword [esp + 0x84], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x84]
jmp 0x605653
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
call fcn.00603f50
add esp, 0xa4
ret
lea esi, [ebp + ecx]
mov edx, edi
mov edi, esi
mov ecx, 0x468
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x98]
mov dword [ecx + ebp + 0x11a0], 0
movsd xmm0, qword [0x7c9be4]
movsd qword [ecx + ebp + 0x11a4], xmm0
inc ebx
mov ebp, dword [esp + 0x7c]
mov eax, ebp
cmp ebx, eax
jae 0x60552a
cmp ebx, edx
ja 0x6056ae
mov ebp, edx
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
mov edi, ebp
imul ebp, ebx, 0x11ac
and ebp, edx
test esi, esi
ja 0x6055b8
jmp 0x6056a5
inc dword [edx + esi*4]
lea edx, [ecx + edi + 0x11a0]
inc dword [edx]
lea edx, [ebp + 1]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0xac]
mov esi, edi
mov edi, dword [esp + 0x94]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x60]
cmp ebx, ebp
jbe 0x6053ea
movzx edi, byte [edi + ebp]
cmp edx, edi
jbe 0x60569c
cmp esi, ebp
jbe 0x605693
imul edi, edi, 0x11ac
mov esi, dword [esp + 0xa8]
movzx esi, word [esi + ebp*2]
lea edx, [edi + ecx]
cmp esi, 0x468
jb 0x605621
mov eax, esi
mov ecx, 0x468
call fcn.00456b50
mov eax, ebp
mov ecx, esi
call fcn.00456b50
mov eax, edi
mov ecx, edx
call fcn.00456b40
xor eax, eax
mov ecx, eax
call fcn.00456b40
mov eax, ebx
mov ecx, edx
call fcn.00456bb0
mov ebp, dword [ebx + 4]
inc ebp
mov esi, dword [ebx + 0x24]
cmp esi, ebp
jae 0x6056d0
test esi, esi
jne 0x6056ca
mov eax, ebp
jmp 0x605713
mov eax, ebp
mov ebp, esi
jmp 0x605713
mov dword [ebx], 1
mov edx, dword [ebx + 0xc]
mov ebp, dword [ebx + 8]
mov eax, dword [ebx + 4]
cmp eax, edx
jae 0x60570a
mov byte [ebp + eax], 0
mov edx, dword [ebx + 0x18]
mov ebp, dword [ebx + 0x14]
mov eax, dword [ebx + 4]
cmp eax, edx
jae 0x605703
mov dword [ebp + eax*4], ecx
inc dword [ebx + 4]
add esp, 0xa4
ret
mov ecx, edx
call fcn.00456b50
mov ecx, edx
call fcn.00456b50
shl ebp, 1
cmp ebp, eax
jb 0x605711
mov edx, dword [ebx + 0x1c]
cmp ebp, edx
jg 0x60572c
ja 0x6057d9
mov dword [ebx + 0x18], ebp
jmp 0x6057c8
mov dword [esp + 0x6c], ebp
lea eax, [0x734760]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx + 0x24]
test edx, edx
je 0x60579e
mov ebx, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x1c]
cmp ebp, edx
jb 0x6057d0
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jg 0x60576c
mov edx, ebp
cmp ebx, eax
je 0x6057a2
mov dword [esp + 0x98], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
shl edx, 2
mov dword [esp + 8], edx
call fcn.00457450
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x6c]
jmp 0x6057a2
mov ebp, dword [esp + 0x6c]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x1c], ebp
mov edx, dword [0x900e70]
test edx, edx
jne 0x6057b7
mov dword [ecx + 0x14], eax
jmp 0x6057bf
lea edi, [ecx + 0x14]
call fcn.00456ac0
mov ebx, ecx
mov ecx, dword [esp + 0xb4]
mov dword [ebx + 0x24], ebp
jmp 0x6056d0
mov ecx, edx
mov edx, ebp
call fcn.00456b90
mov ecx, ebp
call fcn.00456b90
shl ebp, 1
cmp ebp, eax
jb 0x6057e0
mov edx, dword [ebx + 0x10]
cmp ebp, edx
jg 0x6057fb
ja 0x6058aa
mov dword [ebx + 0xc], ebp
jmp 0x605899
mov dword [esp + 0x70], ebp
lea eax, [0x7347e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x60586a
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 0x10]
cmp ebp, edx
jb 0x6058a1
mov ebp, dword [esp + 0x70]
cmp ebp, edx
jg 0x60583b
mov edx, ebp
cmp ebx, eax
je 0x60586e
mov dword [esp + 0x98], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00457450
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x70]
jmp 0x60586e
mov ebp, dword [esp + 0x70]
mov dword [ecx + 0xc], ebp
mov dword [ecx + 0x10], ebp
mov ebx, dword [0x900e70]
test ebx, ebx
jne 0x605883
mov dword [ecx + 8], eax
jmp 0x60588b
lea edi, [ecx + 8]
call fcn.00456ac0
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xd0]
mov dword [ebx + 0x20], ebp
jmp 0x6056b7
mov ecx, edx
mov edx, ebp
call fcn.00456b90
mov ecx, ebp
call fcn.00456b90
call fcn.0042f690
nop
call fcn.00455690
jmp fcn.00605180