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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x118]
cmp eax, dword [ecx + 8]
jbe 0x5c9353
sub esp, 0x198
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.004645c9
lea edi, [esp + 0xec]
call fcn.004645a5
lea ecx, [esp + 0xec]
mov dword [esp + 0xac], ecx
call fcn.0044fff0
mov ecx, dword [esp]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1ac]
xor eax, eax
jmp 0x5c8bdd
inc eax
cmp ecx, eax
jle 0x5c8cb7
lea ebx, [edx + eax*8]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
nop
test ebp, ebp
je 0x5c8c63
nop
movzx esi, byte [0x7d3b68]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c8c29
mov dword [0x7d3b6c], ebp
mov esi, dword [0x7f8db0]
test esi, esi
jne 0x5c8c18
mov dword [0x7d3b70], ebx
jmp 0x5c8c29
lea edi, [0x7d3b70]
mov esi, eax
mov eax, ebx
call fcn.00464380
mov eax, esi
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], ebx
mov ebp, dword [esp + 0x98]
test ebp, ebp
je 0x5c8c5b
nop
movzx esi, byte [ebp + 0xf]
mov edi, esi
and esi, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x5c8c69
or esi, 0x80
jmp 0x5c8c69
xor esi, esi
xor ebp, ebp
xor ebx, ebx
jmp 0x5c8c69
xor esi, esi
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x58], eax
nop
jmp 0x5c8e01
mov dword [esp + 0x50], edi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebp
cmp esi, 0x17
jne 0x5c8c8b
xor esi, esi
jmp 0x5c9093
cmp esi, 0x19
jne 0x5c8bdc
xor esi, esi
xor esi, esi
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
xor esi, esi
mov dword [esp + 0x34], esi
xor esi, esi
mov dword [esp + 0x68], esi
xor esi, esi
mov dword [esp + 0x2c], esi
xor esi, esi
jmp 0x5c8e42
lea edi, [esp + 0xbc]
xor eax, eax
call fcn.004645c4
lea ecx, [0x5f3c60]
mov dword [esp], ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 8], ecx
call fcn.0040de60
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x5c8d0f
lea eax, [esp + 0xbc]
mov dword [esp], eax
call fcn.0040e090
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xbc]
test ebx, ebx
je 0x5c8db7
mov ebx, dword [esp + 0xc0]
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
inc edx
cmp eax, edx
jae 0x5c8d78
mov dword [esp + 0x24], esi
mov dword [esp + 0x64], ebp
mov dword [esp + 0x28], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5e6100]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], eax
lea edx, [edx + edx*2]
mov dword [ecx + edx*4 - 8], esi
mov dword [ecx + edx*4 - 4], ebx
mov ebx, dword [0x7f8db0]
lea esi, [ecx + edx*4 - 0xc]
test ebx, ebx
jne 0x5c8da9
mov dword [ecx + edx*4 - 0xc], ebp
jmp 0x5c8cf1
mov edi, esi
mov eax, ebp
call fcn.00464380
jmp 0x5c8cf1
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], eax
add esp, 0x198
ret
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
call fcn.004bd5d0
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1ac]
nop
mov edi, esi
and esi, 0x1f
cmp esi, 0x16
je 0x5c8dd3
jmp 0x5c8c73
mov eax, dword [esp + 0x54]
lea esi, [eax + 1]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x1b0]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x1a4]
cmp edx, esi
jle 0x5c8f91
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x1a0]
lea ecx, [eax + esi*8]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004bde90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x22]
test bl, bl
jne 0x5c8ee7
mov dword [esp + 0x4c], edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.005cca20
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c8ed5
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x4c]
movzx ebx, byte [esp + 0x22]
jmp 0x5c8eec
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x4c]
mov ebx, 1
mov byte [esp + 0x22], bl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
inc edx
mov ebx, dword [esp + 0x34]
cmp ebx, edx
jb 0x5c8f20
mov ebp, dword [esp + 0x68]
jmp 0x5c8f6c
mov dword [esp + 0x78], eax
mov dword [esp + 0x88], ecx
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f12a0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x88]
lea esi, [ebp + edx*8 - 8]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 4]
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x5c8f87
mov dword [edi], eax
jmp 0x5c8e11
call fcn.00464380
jmp 0x5c8e11
movzx ebx, byte [esp + 0x22]
test bl, bl
je 0x5c9062
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004e1a60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
lea edx, [0x5f3c60]
mov dword [esp], edx
lea ebx, [esp + 0xa0]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004108f0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x5c9050
lea eax, [0x5f3c60]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x80]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
call fcn.00410c50
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x34]
mov dword [edi + 8], eax
mov eax, dword [0x7f8db0]
test eax, eax
jne 0x5c9047
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
jmp 0x5c9050
mov eax, dword [esp + 0x68]
call fcn.00464380
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1ac]
jmp 0x5c8bdc
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x50]
mov esi, eax
mov eax, dword [esp + 0x58]
cmp dword [ebx + 4], esi
jle 0x5c8bdc
mov dword [esp + 0x3c], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
call fcn.004be220
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x5c91c2
mov dword [esp + 0x5c], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x60], ecx
xor edx, edx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor edx, edx
mov dword [esp + 0x30], edx
xor edx, edx
jmp 0x5c91f0
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c906e
mov dword [esp], edi
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
call fcn.004e1a60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
lea edx, [0x5f3c60]
mov dword [esp], edx
lea ebx, [esp + 0xa0]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004108f0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x5c919a
lea eax, [0x5f3c60]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
call fcn.00410c50
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x38]
mov dword [edi + 8], eax
mov eax, dword [0x7f8db0]
test eax, eax
jne 0x5c9191
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
jmp 0x5c919a
mov eax, dword [esp + 0x6c]
call fcn.00464380
mov esi, dword [esp + 0x1a4]
jmp 0x5c906e
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004bd5d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
nop
mov ebx, edx
and edx, 0x1f
cmp edx, 0x16
je 0x5c91a6
jmp 0x5c90c5
mov eax, dword [esp + 0x54]
inc eax
mov ecx, dword [esp + 0x60]
movzx ebp, byte [esp + 0x23]
mov esi, ebx
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x4c]
mov edx, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x38], esi
mov dword [esp + 0x6c], edi
mov esi, dword [esp + 0x1a4]
cmp esi, edx
jle 0x5c90e6
mov dword [esp + 0x54], edx
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov ebp, dword [esp + 0x1a0]
lea esi, [ebp + edx*8]
mov edi, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call fcn.004bde90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x23]
test bl, bl
jne 0x5c92a4
mov dword [esp + 0x48], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.005cca20
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c9292
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x48]
movzx ebx, byte [esp + 0x23]
jmp 0x5c92a9
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x48]
mov ebx, 1
mov byte [esp + 0x23], bl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
inc edx
mov ebx, dword [esp + 0x38]
cmp ebx, edx
jb 0x5c92dd
mov edi, dword [esp + 0x6c]
jmp 0x5c9327
mov dword [esp + 0x7c], eax
mov dword [esp + 0x88], ecx
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f12a0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x88]
mov ebx, esi
lea ebp, [edi + edx*8 - 8]
mov dword [ebp], ecx
lea ecx, [edi + edx*8 - 4]
mov ebp, dword [0x7f8db0]
test ebp, ebp
jne 0x5c9343
mov dword [ecx], eax
jmp 0x5c91d2
mov ebp, edi
mov edi, ecx
call fcn.00464380
mov edi, ebp
jmp 0x5c91d2
call fcn.00462f70
jmp fcn.005c8b70