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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x588554
sub esp, 0x8c
mov eax, dword [esp + 0x94]
test eax, eax
je 0x587f74
mov ecx, dword [esp + 0x98]
jmp 0x587f7b
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x90]
mov ebx, dword [edx + 8]
mov ebx, dword [ebx + 0x10]
mov ebp, dword [esp + 0xa8]
cmp ebp, ebx
jg 0x587f99
mov ebx, ebp
mov dword [esp + 0x64], ebx
lea eax, [0x5eaf00]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [esp + 0x88], eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x587fde
mov eax, dword [esp + 0x88]
mov ecx, edx
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x4c], ebx
mov edi, dword [esp + 0x48]
cmp edi, ecx
jl 0x58839e
mov dword [esp + 0x78], ebp
mov dword [esp + 0x40], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x44], esi
mov edx, dword [esp + 0x90]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov ebx, dword [esp + 0x94]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 2
call fcn.005832c0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
test ecx, ecx
je 0x588381
mov dword [esp + 0x54], ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x94]
test ebx, ebx
je 0x58817b
mov ebp, dword [edx]
mov esi, dword [esp + 0x9c]
cmp esi, ebp
jb 0x58854a
mov edi, dword [esp + 0x44]
cmp edi, ebp
ja 0x588541
sub ebp, edi
mov eax, dword [esp + 0x4c]
lea edx, [eax + ebp]
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
add esi, ebx
mov ebx, dword [esp + 0x50]
cmp ebx, edx
jb 0x5880f5
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x70]
jmp 0x588146
mov dword [esp + 0x60], ebp
mov dword [esp + 0x84], esi
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x84]
mov dword [esp + 0x84], ebp
mov ebx, eax
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x84]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00464cc0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x84]
jmp 0x588258
mov ebp, dword [edx]
mov esi, dword [esp + 0xa4]
cmp esi, ebp
jb 0x588538
mov edi, dword [esp + 0x44]
cmp edi, ebp
ja 0x58852f
sub ebp, edi
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x4c]
lea eax, [esi + ebp]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
mov ebx, dword [esp + 0xa0]
add ebp, ebx
mov ebx, dword [esp + 0x50]
cmp ebx, eax
jb 0x5881d6
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x68]
jmp 0x588223
mov dword [esp + 0x80], ebp
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
lea ecx, [0x5f1b20]
mov dword [esp + 0x10], ecx
call fcn.0044b300
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x84], ebp
mov ebx, edx
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], ebx
mov ecx, dword [esp + 0x84]
lea edx, [ecx + esi]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.00464cc0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x54]
cmp ebx, 1
jbe 0x588523
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x7c]
cmp dword [esi + 4], ebp
jg 0x588278
mov ebp, dword [esi]
test ebp, ebp
jne 0x5882bc
mov ebp, dword [esp + 0xac]
mov edi, dword [ebp]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
mov edx, ebp
call edi
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x94]
test ebx, ebx
mov esi, dword [esp + 0x7c]
jmp 0x5882c5
mov ebx, dword [esp + 0x94]
test ebx, ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], ecx
mov ebp, dword [esi + 4]
mov dword [esp + 0x44], ebp
je 0x58831c
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0x40]
cmp edi, edx
jb 0x58851a
mov eax, dword [esp + 0x9c]
sub eax, edx
mov ebp, eax
neg eax
sar eax, 0x1f
and eax, edx
add eax, ebx
mov dword [esp], eax
sub edi, edx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.00493e90
mov eax, dword [esp + 0x10]
jmp 0x588358
mov edi, dword [esp + 0xa4]
mov ebx, dword [esp + 0x40]
cmp edi, ebx
jb 0x588511
sub edi, ebx
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebx
mov edx, dword [esp + 0xa0]
lea ebp, [edx + edi]
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.00494060
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x40]
lea ebx, [eax + edx]
mov ebp, dword [esp + 0x7c]
mov ebp, dword [ebp + 4]
cmp ebp, ebx
jge 0x588371
mov edx, ebx
jmp 0x587fc2
inc edx
cmp ebp, edx
jl 0x587fc2
mov edx, ebp
jmp 0x587fc2
mov edx, dword [esp + 0x94]
test edx, edx
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x44]
mov edi, edx
mov edx, dword [esp + 0x50]
jmp 0x5883a7
mov edi, dword [esp + 0x94]
test edi, edi
je 0x58844f
mov ecx, dword [esp + 0x98]
cmp ecx, esi
jb 0x58850a
sub ecx, esi
mov dword [esp + 0x64], ecx
lea eax, [ecx + ebx]
mov ecx, dword [esp + 0x9c]
sub ecx, esi
neg ecx
sar ecx, 0x1f
and esi, ecx
lea ecx, [edi + esi]
cmp edx, eax
jae 0x58841c
mov dword [esp + 0x84], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
lea ecx, [0x5f1b20]
mov dword [esp + 0x10], ecx
call fcn.0044b300
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
add ebx, ebp
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
call fcn.00464cc0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
jmp 0x5884e7
mov ecx, dword [esp + 0xa4]
cmp ecx, esi
jb 0x588503
sub ecx, esi
lea eax, [ecx + ebx]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and esi, ecx
mov ecx, dword [esp + 0xa0]
add ecx, esi
cmp edx, eax
jae 0x5884bd
mov dword [esp + 0x64], edi
mov dword [esp + 0x80], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
lea eax, [0x5f1b20]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x78], ebp
add ebx, ebp
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00464cc0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x8c
ret
mov eax, esi
call fcn.00464460
mov eax, esi
call fcn.00464460
mov eax, ebx
mov ecx, edi
call fcn.00464460
mov eax, edx
mov ecx, edi
call fcn.00464460
mov eax, 1
mov ecx, eax
call fcn.00464400
mov eax, edi
mov ecx, ebp
call fcn.00464460
mov ecx, ebp
mov edx, esi
call fcn.00464420
mov eax, edi
mov ecx, ebp
call fcn.00464460
mov ecx, ebp
mov edx, esi
call fcn.00464440
nop
call fcn.00462f70
jmp fcn.00587f40