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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5947b1
sub esp, 0x6c
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x34], ecx
mov edx, dword [ecx + 8]
lea ebx, [0x843ec0]
mov dword [esp], ebx
shl edx, 2
mov dword [esp + 0x2c], edx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0043d110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call fcn.0050a040
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
ja 0x5947ab
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + 0x1c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
sub ecx, edx
mov dword [esp + 0x24], ecx
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and edx, ecx
mov ecx, dword [esp + 0x3c]
add ecx, edx
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
lea ebp, [eax - 1]
test ebp, ebp
jl 0x59478f
mov edx, dword [edx + eax*4 - 4]
nop
cmp edx, 0x10000
jb 0x594788
shr edx, 0x10
mov eax, 0x10
cmp edx, 0x100
jb 0x594781
shr edx, 8
lea esi, [eax + 8]
cmp edx, 0x100
jae 0x59479f
shl ebp, 5
lea eax, [0xc1e120]
movzx eax, byte [eax + edx]
add eax, esi
add eax, ebp
lea ecx, [0x843ec0]
mov dword [esp], ecx
lea ecx, [eax + 7]
sar ecx, 0x1f
shr ecx, 0x1d
lea eax, [ecx + eax + 7]
sar eax, 3
mov dword [esp + 0x28], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0043d110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, ecx
sub ecx, edx
cmp ecx, ebx
ja 0x594796
mov ebp, ebx
sub ebx, ecx
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
lea ecx, [ebx + eax]
cmp esi, edx
jle 0x59477a
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x38]
cmp ecx, ebx
je 0x594681
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.004529a0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00517190
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x40]
mov ebx, eax
xor eax, eax
call fcn.00452295
mov dword [esp + 0x40], 1
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x64], eax
lea eax, [0x87f940]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.0052caf0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
add esp, 0x6c
ret
mov edx, esi
jmp 0x594665
mov esi, eax
jmp 0x5945ee
xor eax, eax
jmp 0x5945dc
xor eax, eax
jmp 0x59460b
mov eax, ecx
mov ecx, ebx
call fcn.004520d0
mov eax, edx
mov ecx, 0x100
call fcn.00452080
call fcn.004520d0
nop
call fcn.004507b0
jmp fcn.005944f0