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

Disassembly:
mov ecx, dword [0x8cbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x5b5788
sub esp, 0x90
mov eax, 0
mov dword [esp + 0x8c], eax
mov byte [esp + 0x33], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0x94]
test byte [eax], al
mov dword [esp], eax
call fcn.00475ad0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
lea eax, [0x5b57a0]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x8c], ecx
mov byte [esp + 0x33], 1
mov eax, dword [eax + 8]
lea ecx, [0x633860]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
call fcn.00414480
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov dword [esp + 0x40], ecx
test al, al
je 0x5b55f7
test byte [ecx], al
lea esi, [ecx + 0x28]
lea edi, [esp + 0x50]
call fcn.0046c59e
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
test eax, 0x80000000
je 0x5b55ca
shl eax, 1
mov ebx, ecx
shl ecx, 1
mov ebp, ebx
shr ebx, 0x1f
or ebx, eax
mov eax, ebx
shl ebx, 1
shr eax, 0x1f
shr ecx, 0x1f
or ebx, ecx
add ebx, 0xd7b17f80
adc eax, 0xd
jmp 0x5b55d4
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
mov ebp, ecx
test ebx, ebx
sete cl
test eax, eax
sete al
and eax, ecx
test al, al
je 0x5b55ef
test ebp, 0x3fffffff
sete al
jmp 0x5b55f1
xor eax, eax
mov ecx, dword [esp + 0x40]
jmp 0x5b55fc
mov eax, 1
test al, al
jne 0x5b574f
call fcn.004c84f0
lea edi, [esp + 0x78]
lea esi, [esp]
call fcn.0046c59e
mov eax, dword [esp + 0x40]
test byte [eax], al
lea esi, [eax + 0x28]
mov dword [esp + 0x44], esi
lea edi, [esp + 0x64]
call fcn.0046c59e
lea edi, [esp]
lea esi, [esp + 0x78]
call fcn.0046c59e
lea edi, [esp + 0x14]
lea esi, [esp + 0x64]
call fcn.0046c59e
call fcn.004c7bb0
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x34], ebx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x2c]
add ecx, 1
mov dword [eax], ecx
adc edx, 0
mov dword [eax + 4], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
cmp ebp, edx
xchg edi, ebx
sete bl
xchg edi, ebx
xchg ebp, ebx
setl bl
xchg ebp, ebx
cmp ecx, ebx
seta bl
and ebx, edi
or ebx, ebp
test bl, bl
jne 0x5b56a4
test ecx, ecx
sete cl
test edx, edx
sete bl
and ebx, ecx
test bl, bl
je 0x5b56b0
mov dword [eax + 0xc], esi
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
jmp 0x5b56b4
mov ecx, dword [esp + 0x34]
mov ebx, dword [eax + 0x14]
cmp dword [eax + 0x10], ecx
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov edx, ecx
mov ecx, dword [esp + 0x38]
cmp ebx, ecx
sete bl
xchg edi, ebx
setl bl
xchg edi, ebx
and ebp, ebx
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b56e3
mov dword [eax + 0x14], esi
mov dword [eax + 0x10], edx
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x1c]
add ebx, edx
mov dword [eax + 0x18], ebx
adc ebp, ecx
mov dword [eax + 0x1c], ebp
mov ecx, dword [0x8cc0e0]
test ecx, ecx
je 0x5b571f
mov dword [esp + 0x3c], esi
lea eax, [0x666460]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.004152b0
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x44]
xor eax, eax
call fcn.0046c0bb
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], edx
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0x8c]
mov ecx, dword [edx]
call ecx
add esp, 0x90
ret
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0x8c]
mov eax, dword [edx]
call eax
add esp, 0x90
ret
call fcn.0046aab0
jmp fcn.005b54c0