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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x5c3a40
sub esp, 0x88
mov ecx, dword [esp + 0x8c]
movzx ebx, byte [ecx + 8]
test bl, bl
je 0x5c3683
mov ebx, dword [ecx + 0x28]
movzx ebp, byte [ebx + 0x61]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c3666
mov ebp, dword [ebx + 0x84]
test ebp, ebp
je 0x5c3666
mov ebp, dword [esp + 0x90]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x5c3649
mov esi, 0x3b9aca00
mul esi
cmp eax, 0xf9290000
xchg esi, ebx
seta bl
xchg esi, ebx
cmp edx, 0x2260f
xchg edi, ebx
sete bl
xchg edi, ebx
xchg ebp, ebx
setg bl
xchg ebp, ebx
and edi, esi
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c3600
mov dword [esp + 0x48], ebx
mov dword [esp + 0x30], eax
movzx ebp, word [ecx + 0x32]
mov esi, dword [0xbb8718]
mov edi, dword [0xbb871c]
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
jmp 0x5c36d9
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call fcn.005b6890
lea eax, [0x65cd40]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x34
lea ecx, [0x697db6]
mov dword [eax], ecx
lea ecx, [0xa54a34]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x88
ret
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x88
ret
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x88
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005b6890
lea eax, [0x65cd40]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2e
lea ecx, [0x696610]
mov dword [eax], ecx
lea ecx, [0xa54a34]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x88
ret
inc eax
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
cmp eax, edi
jge 0x5c36f1
mov ebx, dword [esi + eax*4]
cmp word [ebx], bp
jne 0x5c36cc
mov eax, ebx
mov ebx, dword [esp + 0x48]
jmp 0x5c36f3
xor eax, eax
test eax, eax
je 0x5c3a16
mov eax, dword [ecx + 0x74]
test eax, eax
je 0x5c3a16
mov dword [esp + 0x34], edx
mov eax, dword [ebx + 8]
test eax, eax
jne 0x5c3717
lea eax, [0xa02a1c]
mov ecx, dword [eax]
mov edx, eax
call ecx
lea edi, [esp + 0x74]
lea esi, [esp]
call fcn.0046346e
lea edi, [esp + 0x60]
lea esi, [esp + 0x74]
call fcn.0046346e
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x28]
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x5c374d
lea ecx, [0xa02a1c]
mov eax, dword [ecx]
mov edx, ecx
call eax
lea edi, [esp + 0x74]
lea esi, [esp]
call fcn.0046346e
lea edi, [esp + 0x4c]
lea esi, [esp + 0x74]
call fcn.0046346e
lea edi, [esp]
lea esi, [esp + 0x4c]
call fcn.0046346e
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
call fcn.004a6e20
lea edi, [esp + 0x74]
lea esi, [esp + 0x1c]
call fcn.0046346e
lea eax, [0x6790c0]
mov dword [esp], eax
call fcn.0040b830
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov ebp, dword [eax + 0x28]
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ebx, dword [0xbe5550]
test ebx, ebx
jne 0x5c37d0
mov dword [edi], ecx
jmp 0x5c37db
mov edx, eax
mov eax, ecx
call fcn.00462ce0
mov eax, edx
mov ecx, dword [esp + 0x8c]
movzx edx, word [ecx + 0x24]
mov word [edi + 0xc], dx
movzx edx, word [ecx + 0x32]
mov word [edi + 0xe], dx
mov edx, dword [ecx + 0x74]
mov ebx, dword [ecx + 0x78]
mov ebp, dword [ecx + 0x7c]
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], ebp
mov ebx, dword [0xbe5550]
test ebx, ebx
jne 0x5c3810
mov dword [edi + 0x10], edx
jmp 0x5c3824
lea ebx, [edi + 0x10]
mov ebp, edi
mov edi, ebx
mov esi, eax
mov eax, edx
call fcn.00462ce0
mov eax, esi
mov edi, ebp
mov edx, dword [ecx + 0x4c]
mov ebx, dword [ecx + 0x50]
mov ebp, dword [ecx + 0x54]
mov dword [edi + 0x20], ebx
mov dword [edi + 0x24], ebp
mov ebx, dword [0xbe5550]
test ebx, ebx
jne 0x5c3842
mov dword [edi + 0x1c], edx
jmp 0x5c3856
lea ebx, [edi + 0x1c]
mov ebp, edi
mov edi, ebx
mov esi, eax
mov eax, edx
call fcn.00462ce0
mov eax, esi
mov edi, ebp
mov edx, dword [ecx + 0x58]
mov ebx, dword [ecx + 0x5c]
mov ebp, dword [ecx + 0x60]
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x30], ebp
mov ebx, dword [0xbe5550]
test ebx, ebx
jne 0x5c3874
mov dword [edi + 0x28], edx
jmp 0x5c3888
lea ebx, [edi + 0x28]
mov ebp, edi
mov edi, ebx
mov esi, eax
mov eax, edx
call fcn.00462ce0
mov eax, esi
mov edi, ebp
mov dword [esp + 0x44], edi
lea edx, [edi + 0x34]
mov ebx, dword [0xbe5550]
test ebx, ebx
jne 0x5c38a8
lea esi, [esp + 0x60]
mov ebx, edi
mov edi, edx
call fcn.0046346e
jmp 0x5c38cd
lea eax, [0x6849c0]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00410e80
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x44]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov ebp, dword [eax + 0x1c]
mov dword [ebx + 0x64], edx
mov dword [ebx + 0x68], ebp
mov edx, dword [0xbe5550]
test edx, edx
jne 0x5c38eb
mov dword [ebx + 0x60], ecx
jmp 0x5c38f9
lea edi, [ebx + 0x60]
mov edx, eax
mov eax, ecx
call fcn.00462ce0
mov eax, edx
lea edi, [ebx + 0x6c]
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5c3911
lea esi, [esp + 0x74]
call fcn.0046346e
jmp 0x5c3936
lea eax, [0x6849c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00410e80
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x44]
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x80], ecx
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + 0x34]
mov edx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x3c]
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x50], ebp
mov edx, dword [0xbe5550]
test edx, edx
jne 0x5c3964
mov dword [ebx + 0x48], eax
jmp 0x5c396c
lea edi, [ebx + 0x48]
call fcn.00462ce0
mov eax, dword [ecx + 0x40]
mov edx, dword [ecx + 0x44]
mov ebp, dword [ecx + 0x48]
mov dword [ebx + 0x58], edx
mov dword [ebx + 0x5c], ebp
mov edx, dword [0xbe5550]
test edx, edx
jne 0x5c398a
mov dword [ebx + 0x54], eax
jmp 0x5c3992
lea edi, [ebx + 0x54]
call fcn.00462ce0
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov eax, dword [eax + 0x1c]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x28]
mov edx, dword [ecx + 0x44]
mov ecx, dword [ecx + 0x40]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
test edx, edx
jne 0x5c39d2
mov eax, dword [ebx + 0x14]
mov dword [esp], ebp
call eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 0x28]
mov ebx, dword [eax + 0x84]
mov eax, dword [eax + 0x88]
mov ebx, dword [ebx + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
call ebx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x88
ret
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call fcn.005b6890
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x88
ret
call fcn.004618d0
jmp fcn.005c3540