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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x505cd4
sub esp, 0x50
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x505b0e
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x64]
cmp ebx, ebp
jne 0x505a23
test ebx, ebx
je 0x505a19
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x60]
cmp esi, edi
jne 0x505a2b
mov eax, dword [esp + 0x54]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
add esp, 0x50
ret
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x60]
jmp 0x505a2b
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x505a53
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x505a53
mov ecx, esi
lea esi, [esi + edx*4 - 4]
lea edi, [edi + ebx*4 - 4]
cmp edi, esi
je 0x505b1e
mov esi, ecx
mov edi, dword [esp + 0x60]
cmp edx, ebp
jl 0x505a5b
mov eax, ebp
jmp 0x505ac9
cmp ebp, 1
jne 0x505a98
lea eax, [0x6124c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004476a0
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x60]
mov ebp, 1
mov esi, eax
mov edx, 1
mov eax, dword [esp + 0x64]
jmp 0x505ac9
lea eax, [0x6124c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [ebp + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 8], eax
call fcn.004476a0
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov esi, eax
mov edx, dword [esp + 0x28]
mov eax, ebp
cmp eax, ebp
jl 0x505acf
mov eax, ebp
cmp edi, esi
je 0x505afe
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], esi
mov dword [esp], esi
mov dword [esp + 4], edi
shl eax, 2
mov dword [esp + 8], eax
call fcn.0045ee00
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], edx
add esp, 0x50
ret
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
test ebp, ebp
je 0x505c68
shr eax, 5
mov dword [esp + 0x44], eax
lea edi, [eax + ebp]
mov dword [esp + 0x38], edi
lea esi, [eax + ebp + 1]
cmp edx, esi
jl 0x505b47
jae 0x505bcb
jmp 0x505ccc
test edi, edi
jne 0x505b8b
lea eax, [0x6124c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004476a0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x38]
mov edx, 1
mov esi, 1
mov ecx, eax
mov eax, dword [esp + 0x44]
jmp 0x505bcb
mov dword [esp + 0x34], esi
lea ecx, [0x6124c0]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea ecx, [eax + ebp + 5]
mov dword [esp + 0x24], ecx
mov dword [esp + 8], ecx
call fcn.004476a0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x34]
mov ecx, eax
mov eax, dword [esp + 0x44]
cmp edx, edi
jb 0x505cc5
cmp eax, edi
ja 0x505cbe
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x48], ecx
sub edx, eax
mov dword [esp + 0x40], edx
shl eax, 2
mov dword [esp + 0x3c], eax
neg edx
sar edx, 0x1f
and edx, eax
add edx, ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x6c]
and edx, 0x1f
mov dword [esp + 0x18], edx
call fcn.0050c7e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
cmp ecx, edx
jbe 0x505cb7
mov ebx, dword [esp + 0x48]
mov dword [ebx + edx*4], eax
nop
mov ebp, dword [esp + 0x44]
test ebp, ebp
je 0x505c64
mov dword [esp], ebx
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.0045ec30
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x48]
mov eax, ecx
jmp 0x505c7e
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], edx
add esp, 0x50
ret
mov ecx, ebp
test ecx, ecx
jle 0x505c91
lea ebp, [ecx - 1]
cmp eax, ebp
jbe 0x505cae
mov esi, dword [ebx + ecx*4 - 4]
test esi, esi
je 0x505c7c
mov edx, dword [esp + 0x24]
cmp ecx, edx
ja 0x505ca9
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
add esp, 0x50
ret
call fcn.0045e570
mov ecx, eax
mov eax, ebp
call fcn.0045e530
mov eax, edx
call fcn.0045e530
mov ecx, edi
call fcn.0045e590
mov ecx, edi
call fcn.0045e570
mov ecx, esi
call fcn.0045e570
nop
call fcn.0045d0a0
jmp fcn.005059c0