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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5b1cc6
sub esp, 0x4c
mov eax, 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov byte [esp + 0x1f], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
mov edx, dword [eax + 0x80]
test edx, edx
jne 0x5b1c6c
mov dword [esp + 0x30], ecx
lea ecx, [eax + 0x14]
mov dword [esp + 0x38], ecx
mov dword [esp], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xc], edx
call fcn.005a7f20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x50]
mov ebx, dword [edx + 0x7c]
cmp ebx, 0xffffffff
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [edx + 0x78]
cmp esi, 0xffffffff
xchg edi, ebx
setne bl
xchg edi, ebx
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b1a19
mov dword [esp + 0x2c], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x28], ebp
cmp ebp, esi
mov edi, ecx
seta cl
sar ebp, 0x1f
mov dword [esp + 0x24], ebp
cmp ebx, ebp
sete bl
xchg ebp, ebx
setl bl
xchg ebp, ebx
and ebx, ecx
or ebx, ebp
test bl, bl
je 0x5b1997
mov dword [esp + 0x60], esi
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x5b1930
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov dword [edx + 0x80], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5b1923
mov dword [edx + 0x84], eax
mov eax, dword [edx + 0x78]
mov dword [esp + 0x60], eax
add esp, 0x4c
ret
lea edi, [edx + 0x84]
call fcn.0045c920
jmp 0x5b1918
lea eax, [0x64d2c0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x4a
lea ecx, [0x68c17a]
mov dword [eax], ecx
lea ecx, [0x6cadb0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.005b2f70
mov edx, dword [esp + 0x50]
jmp 0x5b18fa
mov ecx, dword [esp + 0x28]
sub esi, ecx
mov dword [edx + 0x78], esi
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
sbb ecx, ebx
mov dword [edx + 0x7c], ecx
cmp dword [0x7ccd90], eax
je 0x5b1c48
xor eax, eax
test al, al
je 0x5b1a19
mov ecx, dword [edx + 0x78]
test ecx, ecx
seta cl
mov ebx, dword [edx + 0x7c]
test ebx, ebx
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
and ebx, ecx
or ebx, ebp
test bl, bl
je 0x5b1a19
mov eax, dword [0x7ccdbc]
mov ecx, dword [0x7ccdb8]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov dword [edx + 0x80], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5b1a0c
mov dword [edx + 0x84], eax
add esp, 0x4c
ret
lea edi, [edx + 0x84]
call fcn.0045c920
jmp 0x5b1a08
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5b1c44
mov eax, dword [esp + 0x30]
test byte [eax], al
lea ecx, [eax + 0x30]
mov dword [esp + 0x34], ecx
mov dword [esp], ecx
call fcn.004627c0
lea eax, [0x692a60]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], ecx
mov byte [esp + 0x1f], 1
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x44]
mov ebx, dword [ecx + 0x48]
test ebx, ebx
je 0x5b1c3d
mov ebx, dword [ebx]
cmp edx, ebx
jle 0x5b1c3d
cmp ebx, 0x20000000
jge 0x5b1c36
lea ebp, [ebx - 0x40000000]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov esi, edx
sub edx, ebx
add edx, 0x40000000
cmp ebp, edx
setl bl
test esi, esi
xchg esi, ebx
setg bl
xchg esi, ebx
nop
xchg esi, eax
cmp bl, al
xchg esi, eax
jne 0x5b1aa7
mov dword [ecx + 0x44], edx
mov dword [esp + 0x2c], ebp
mov edx, dword [esp + 0x64]
test edx, edx
je 0x5b1bb1
xor edx, edx
mov dword [esp + 0x24], edx
test ebp, ebp
je 0x5b1ba2
lea eax, [ecx + 0xd8]
mov dword [esp + 0x34], eax
mov dword [esp], eax
call fcn.004627c0
lea eax, [0x692a60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x1f], 3
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x5b1b1c
cmp eax, 0x7fffffff
ja 0x5b1ca4
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x74]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.005a51c0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5b1b4d
cmp eax, 0x7fffffff
ja 0x5b1c8c
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x74]
mov ebx, dword [esp + 0x50]
mov ebx, dword [ebx + 0xc]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.005a51c0
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x6c]
mov dword [esp], eax
call fcn.0057c320
mov eax, 3
test al, 2
jne 0x5b1b84
test al, 1
jne 0x5b1b6f
add esp, 0x4c
ret
and eax, 0xfffffffe
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00462b80
jmp 0x5b1b6b
and eax, 0xfffffffd
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], al
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call fcn.00462b80
movzx eax, byte [esp + 0x1e]
jmp 0x5b1b66
test edx, edx
jne 0x5b1ac5
mov eax, 1
jmp 0x5b1b61
mov edx, dword [esp + 0x50]
mov ebx, dword [edx + 0x70]
mov esi, dword [edx + 0x74]
test esi, esi
je 0x5b1c32
mov esi, dword [esi]
cmp ebx, esi
jle 0x5b1c32
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.005a7e60
mov eax, dword [esp + 0x20]
add eax, dword [esp + 4]
cmp eax, 0x3ff000
jge 0x5b1c2a
lea ecx, [eax - 0x400000]
neg ecx
mov edx, dword [esp + 0x50]
mov ebx, dword [edx + 0x70]
mov ebp, ebx
sub ebx, eax
lea eax, [ebx + 0x400000]
cmp ecx, eax
setl bl
test ebp, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
nop
xchg ebp, eax
cmp bl, al
xchg ebp, eax
jne 0x5b1c15
mov dword [edx + 0x70], eax
lea eax, [0x692a60]
mov ebp, dword [esp + 0x2c]
mov edx, ecx
mov ecx, dword [esp + 0x30]
jmp 0x5b1ab9
mov edx, dword [esp + 0x50]
xor ecx, ecx
jmp 0x5b1c15
mov esi, ebx
jmp 0x5b1bc5
xor ebp, ebp
jmp 0x5b1aa7
mov ebx, edx
jmp 0x5b1a6d
add esp, 0x4c
ret
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [0x7ccd94]
mov dword [esp + 8], eax
call fcn.00404120
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x50]
jmp 0x5b19bb
mov ecx, dword [eax + 0x80]
mov eax, dword [eax + 0x84]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
add esp, 0x4c
ret
lea eax, [0x643700]
mov dword [esp], eax
lea eax, [0x6c7f40]
mov dword [esp + 4], eax
call fcn.00431bb0
lea eax, [0x643700]
mov dword [esp], eax
lea eax, [0x6c7f38]
mov dword [esp + 4], eax
call fcn.00431bb0
nop
call fcn.004312b0
add esp, 0x4c
ret
call fcn.0045b380
jmp fcn.005b17f0