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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x5b9692
sub esp, 0x9c
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jne 0x5b901f
xor eax, eax
jmp 0x5b904d
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004bc180
mov eax, dword [esp + 0x14]
test eax, eax
setne al
mov ecx, dword [esp + 0xbc]
test al, al
jne 0x5b94c6
mov edx, dword [esp + 0xac]
test edx, edx
je 0x5b90e5
nop
movzx ebx, byte [0x7a1de0]
test bl, bl
je 0x5b90aa
mov ebx, dword [esp + 0xac]
mov dword [0x7a1de4], ebx
mov ebx, dword [0x7c78f0]
test ebx, ebx
jne 0x5b9096
mov eax, dword [esp + 0xb0]
mov dword [0x7a1de8], eax
jmp 0x5b90b1
lea edi, [0x7a1de8]
mov eax, dword [esp + 0xb0]
call fcn.00463730
jmp 0x5b90b1
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x5b90dd
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5b90eb
or ebx, 0x80
jmp 0x5b90eb
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x5b90eb
xor ebx, ebx
xor edx, edx
xor eax, eax
nop
mov ebp, ebx
and ebx, 0x1f
cmp ebx, 0x16
jne 0x5b91e1
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
test ebp, 0x200
jne 0x5b911a
lea esi, [0x663100]
jmp 0x5b9134
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esi + 0x28]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0xbc]
test edx, edx
je 0x5b916e
test edx, 0x200
jne 0x5b916e
lea ebx, [0x663100]
mov ebp, dword [esp + 0xb4]
jmp 0x5b91a7
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xbc]
mov ebx, eax
mov ebp, ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
cmp ebx, eax
je 0x5b91af
xor eax, eax
jmp 0x5b91cb
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00403850
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0xbc]
mov ecx, edx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov esi, eax
mov eax, dword [esp + 0x48]
jmp 0x5b91e3
xor esi, esi
xchg esi, eax
test al, al
xchg esi, eax
je 0x5b9213
cmp ebx, 0x16
jne 0x5b9213
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004bc180
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xbc]
mov ebp, ebx
test ebp, ebp
jne 0x5b9279
test ecx, ecx
je 0x5b9232
test ecx, 0x200
jne 0x5b9232
lea eax, [0x663100]
mov edx, dword [esp + 0xb4]
jmp 0x5b925a
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004bf750
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x30], ebp
test ebp, ebp
je 0x5b929d
test ebp, 0x200
jne 0x5b929d
test ecx, ecx
mov ebx, edx
lea esi, [0x663100]
jmp 0x5b92cc
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
test ecx, ecx
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x30]
mov esi, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], edx
mov dword [esp + 0x2c], esi
je 0x5b92f7
test ecx, 0x200
jne 0x5b92f7
lea edi, [0x663100]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x50], edi
lea edi, [0x663100]
jmp 0x5b932b
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x50], ecx
mov eax, dword [esi + 0x14]
mov dword [esp], edx
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call eax
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b946c
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x5b936e
test ecx, 0x200
jne 0x5b936e
lea eax, [0x663100]
mov ecx, dword [esp + 0xb4]
jmp 0x5b9394
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0x84]
xor eax, eax
call fcn.0046395a
mov ecx, dword [esp + 0xa4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], ecx
call fcn.00409680
mov ecx, dword [esp + 8]
lea edx, [0x5e1fa0]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x5b93e9
mov eax, dword [ecx + 4]
jmp 0x5b93eb
mov eax, ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x5b940a
mov esi, dword [eax + 4]
jmp 0x5b940c
mov esi, eax
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x54]
mov dword [esp + 0x98], eax
lea eax, [0x617501]
mov dword [esp], eax
mov dword [esp + 4], 0x21
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.004c4b50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
add esp, 0x9c
ret
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
call fcn.004bd9d0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
add esp, 0x9c
ret
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004bc180
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, edx
and edx, 0x100
mov dword [esp + 0x40], edx
test edx, edx
jne 0x5b95b4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
test ebx, ebx
je 0x5b9524
test ebx, 0x200
jne 0x5b9524
lea ebp, [0x663100]
jmp 0x5b9540
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004be9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov eax, ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.004bf830
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004bc180
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.004bd9d0
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
call fcn.005b8580
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x5b961f
mov eax, dword [esp + 0x40]
test eax, eax
je 0x5b9634
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0x9c
ret
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
call fcn.004bc180
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call fcn.004bd9d0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
add esp, 0x9c
ret
call fcn.00462320
jmp fcn.005b8ff0