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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x5c366d
sub esp, 0xb4
call fcn.0040ccc0
mov eax, dword [esp]
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x5c3333
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + 8]
cmp ecx, 0xd99de76
jne 0x5c318a
mov ecx, dword [esp + 0xb8]
lea edx, [0x5e6100]
cmp ecx, edx
jne 0x5c3182
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 4]
mov dword [esp + 0x2c], edx
mov ecx, dword [ecx]
mov dword [esp + 0x44], ecx
xor ebx, ebx
jmp 0x5c357d
lea edx, [0x5f3ea0]
jmp 0x5c31c5
cmp ecx, 0x38a195a4
jne 0x5c31b8
mov ecx, dword [esp + 0xb8]
lea edx, [0x5f3ea0]
cmp ecx, edx
jne 0x5c31c5
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov ecx, dword [esp + 0xb8]
lea edx, [0x5f3ea0]
test ecx, ecx
je 0x5c3333
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5c3267
nop
movzx ebp, byte [0x7d3b68]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c3228
mov dword [0x7d3b6c], ecx
mov ebp, dword [0x7f8db0]
test ebp, ebp
jne 0x5c3209
mov ebp, dword [esp + 0xbc]
mov dword [0x7d3b70], ebp
jmp 0x5c322f
lea edi, [0x7d3b70]
mov ebp, eax
mov eax, dword [esp + 0xbc]
call fcn.00464380
mov eax, ebp
mov ebp, dword [esp + 0xbc]
jmp 0x5c322f
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebp
mov ebx, dword [esp + 0x7c]
test ebx, ebx
je 0x5c325d
nop
movzx esi, byte [ebx + 0xf]
mov edi, esi
and esi, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x5c3259
or esi, 0x80
mov edi, ebp
jmp 0x5c3274
mov edi, ebp
xor esi, esi
xor ebx, ebx
xor ebp, ebp
jmp 0x5c3274
mov edi, dword [esp + 0xbc]
xor esi, esi
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x30], esi
nop
nop
and esi, 0x1f
cmp esi, 0x15
jne 0x5c32b1
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], ebx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
call fcn.004bf590
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
xor edx, edx
jmp 0x5c3424
lea eax, [0x60de20]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x5c32ed
mov ecx, dword [esp + 0xbc]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0x20], ecx
jmp 0x5c330f
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.00464380
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0xc4]
call fcn.00464380
mov eax, ecx
mov dword [esp], eax
call fcn.005bb700
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
movzx edx, byte [esp + 0xc0]
xor ebx, ebx
jmp 0x5c3342
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
inc ebx
cmp ebx, ecx
jge 0x5c3409
mov ebp, dword [eax + ebx*4]
movzx esi, byte [ebp + 4]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5c3341
mov dword [esp + 0x38], ebx
test dl, dl
jne 0x5c336c
mov esi, dword [ebp]
movzx esi, byte [esi + 0x1e]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5c3341
mov dword [esp + 0x5c], ebp
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
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 + 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x74], ebx
lea ebp, [0x5f3ea0]
mov dword [esp], ebp
mov esi, dword [esp + 0x60]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00410c50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x5c33e4
mov ecx, dword [esp + 0x54]
mov dword [eax + 4], ecx
jmp 0x5c33f0
lea edi, [eax + 4]
mov eax, dword [esp + 0x54]
call fcn.00464380
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0xc0]
mov ebx, dword [esp + 0x38]
jmp 0x5c3341
mov eax, dword [esp + 0x60]
jmp 0x5c3333
mov ebx, dword [esp + 0x70]
lea eax, [ebx + 0xc]
mov ebx, dword [esp + 0x38]
lea edx, [ebx + 1]
mov ecx, dword [esp + 0x3c]
cmp edx, ecx
jge 0x5c3409
mov dword [esp + 0x38], edx
mov dword [esp + 0x70], eax
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x68], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x34], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [0x5f1960]
cmp ecx, edx
jne 0x5c3554
mov ecx, dword [0x7ce164]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [edx]
mov dword [esp], ebx
mov dword [esp + 4], eax
call ecx
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x4c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x50]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x30]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x14], edi
call fcn.004bf330
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ecx
lea ebx, [0x5f3ea0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0xc], esi
call fcn.00410c50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x5c3543
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
jmp 0x5c3412
lea edi, [eax + 4]
mov eax, dword [esp + 0x58]
call fcn.00464380
jmp 0x5c3412
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x5f12a0]
mov dword [esp + 8], eax
call fcn.004097e0
mov ebp, dword [esp + 0x3c]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
cmp ebx, edx
jge 0x5c3333
mov dword [esp + 0x3c], ebx
lea eax, [ecx + ebx*8]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
movzx eax, byte [esp + 0xc0]
mov byte [esp + 8], al
mov edx, dword [esp + 0xc4]
mov dword [esp + 0xc], edx
call fcn.005c3110
mov eax, dword [esp + 0x10]
mov dword [esp + 0x64], eax
lea edi, [esp + 0x84]
xor eax, eax
call fcn.004645c4
lea eax, [0x5f3ea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 8], ecx
call fcn.0040de60
jmp 0x5c35fc
lea eax, [esp + 0x84]
mov dword [esp], eax
call fcn.0040e090
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5c356a
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 4]
mov dword [esp + 0x48], edx
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
mov ebx, dword [eax]
mov eax, dword [eax + 4]
lea ebp, [0x5f3ea0]
mov dword [esp], ebp
mov esi, dword [esp + 0x60]
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00410c50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x5c365f
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
jmp 0x5c35ed
lea edi, [eax + 4]
mov eax, dword [esp + 0x48]
call fcn.00464380
jmp 0x5c35ed
call fcn.00462f70
jmp fcn.005c3110