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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x582959
sub esp, 0x50
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x5c]
jmp 0x582567
lea eax, [esi + ebp*8 + 4]
mov eax, dword [eax]
mov ebx, ecx
mov ebp, edi
mov esi, edx
test eax, eax
je 0x5828fe
mov ecx, dword [ebp + 4]
mov edx, esi
mov esi, dword [ebp]
cmp eax, ecx
jae 0x582953
mov esi, dword [esi + eax*4]
mov ecx, ebx
mov ebx, dword [ebp + 0x10]
mov edi, ebx
mov ebx, dword [ebp + 0x14]
mov ebp, dword [ebp + 0xc]
cmp edi, esi
jbe 0x5825a0
lea ebp, [ebp + esi*8]
cmp dword [ebp], eax
je 0x582665
lea ebp, [edi + 1]
cmp ebx, ebp
jb 0x58294a
mov ebx, dword [esp + 0x58]
mov dword [ebx + 0x10], ebp
mov esi, dword [ebx + 0xc]
cmp edi, ebp
jae 0x582941
lea ebp, [esi + edi*8 + 4]
mov ebx, dword [0x7f8db0]
lea esi, [esi + edi*8]
test ebx, ebx
jne 0x5825d7
mov dword [ebp], 0
jmp 0x5825ec
mov dword [esp + 0x34], eax
mov ebx, edi
mov edi, ebp
xor eax, eax
call fcn.00464380
mov eax, dword [esp + 0x34]
mov edi, ebx
mov dword [esp + 0x4c], ebp
mov dword [esi], eax
mov ebx, dword [esp + 0x58]
mov esi, dword [ebx + 4]
mov ebp, dword [ebx]
cmp eax, esi
jae 0x58293a
mov dword [ebp + eax*4], edi
mov ebp, dword [ecx + 4]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
cmp eax, ebp
jae 0x582933
lea ebp, [eax + eax*2]
lea eax, [esi + ebp*8]
mov edi, ebx
lea ebx, [esi + ebp*8]
movzx ebx, byte [ebx]
cmp bl, 3
ja 0x5827a2
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], ebp
cmp bl, 1
jbe 0x58273d
mov dword [esp + 0x44], edx
cmp bl, 2
jne 0x5826ed
lea ebx, [esi + ebp*8 + 8]
mov dword [esp + 0x40], ebx
mov eax, dword [ebx]
mov ebx, dword [esp + 0x68]
cmp ebx, eax
jle 0x58255b
jmp 0x58266d
mov dword [esp + 0x78], edx
add esp, 0x50
ret
jbe 0x58292c
mov edx, dword [esp + 0x64]
mov ebx, dword [edx + eax*4]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x60]
mov dword [edx + eax*4], ebx
lea eax, [esi + ebp*8 + 4]
mov eax, dword [eax]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], 0
call fcn.00582530
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jbe 0x582927
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
mov dword [edx + eax*4], ecx
mov edx, dword [esp + 0x44]
jmp 0x5828f6
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [esi + ebp*8 + 8]
mov ebx, dword [ebx]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov byte [esp + 8], bl
call fcn.005819d0
movzx eax, byte [esp + 0xc]
test al, al
je 0x582734
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
lea eax, [ecx + eax*8 + 4]
mov eax, dword [eax]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x44]
jmp 0x582567
mov edx, dword [esp + 0x44]
jmp 0x5828f6
lea eax, [esi + ebp*8 + 4]
mov eax, dword [eax]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call fcn.00582530
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
lea eax, [ecx + eax*8 + 8]
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebx, ecx
mov ebp, edx
jmp 0x582567
cmp bl, 5
jbe 0x5827c7
cmp bl, 6
jne 0x5827bd
lea eax, [esi + ebp*8 + 4]
mov eax, dword [eax]
mov ebx, ecx
mov ebp, edi
mov esi, edx
jmp 0x582567
cmp bl, 0xa
jbe 0x5827d0
jmp 0x58290f
cmp bl, 4
jne 0x5828f6
test edx, edx
je 0x5827f1
mov ebx, dword [0x7f8db0]
test ebx, ebx
jne 0x5827e5
mov dword [edx], eax
jmp 0x582894
mov edi, edx
call fcn.00464380
jmp 0x582894
nop
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x38]
test edx, edx
je 0x582806
mov ebx, dword [ebx + edx*4 - 4]
dec edx
mov dword [ecx + 0x3c], edx
jmp 0x58287b
mov dword [esp + 0x3c], eax
lea eax, [0x5fdc00]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 0x4c]
mov dword [esp + 0x30], edx
mov ecx, dword [ecx + 0x50]
mov dword [esp + 0x2c], ecx
lea ebx, [0x5f1160]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0044b240
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x58286d
mov dword [edx + 4], eax
jmp 0x582875
lea edi, [edx + 4]
call fcn.00464380
mov eax, dword [esp + 0x3c]
mov ebx, edx
test byte [ebx], al
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x58288b
mov dword [ebx], eax
jmp 0x582892
mov edi, ebx
call fcn.00464380
mov edx, ebx
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x5828d7
mov ebp, dword [edx + 8]
mov esi, dword [edx + 4]
test ebp, ebp
jbe 0x582906
mov ecx, dword [esp + 0x64]
cmp ecx, esi
je 0x5828d7
cmp ebx, ebp
jge 0x5828b6
cmp ecx, esi
jmp 0x5828ba
cmp ecx, esi
mov ebx, ebp
je 0x5828d7
mov dword [esp + 0x44], edx
mov dword [esp], esi
mov dword [esp + 4], ecx
shl ebx, 2
mov dword [esp + 8], ebx
call fcn.00464cc0
mov edx, dword [esp + 0x44]
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x5828e9
mov eax, dword [esp + 0x4c]
mov dword [eax], edx
jmp 0x5828f4
mov edi, dword [esp + 0x4c]
mov eax, edx
call fcn.00464380
xor edx, edx
mov dword [esp + 0x78], edx
add esp, 0x50
ret
mov dword [esp + 0x78], esi
add esp, 0x50
ret
xor eax, eax
mov ecx, eax
call fcn.00464400
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e34c]
mov dword [esp + 4], eax
call fcn.00436760
call fcn.00464410
mov ecx, ebx
call fcn.00464410
mov ecx, ebp
call fcn.00464410
mov ecx, esi
call fcn.00464410
mov eax, edi
mov ecx, ebp
call fcn.00464400
mov ecx, ebp
mov edx, ebx
call fcn.00464440
call fcn.00464410
nop
call fcn.00462f70
jmp fcn.00582530