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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x50]
cmp eax, dword [ecx + 8]
jbe 0x5c1695
sub esp, 0xd0
mov eax, 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov byte [esp + 0x37], 0
mov byte [esp + 0xdc], 0
mov eax, dword [esp + 0xd4]
movzx ecx, byte [eax + 0x68]
test cl, cl
jne 0x5c167a
mov dword [esp], eax
call fcn.004627c0
lea eax, [0x692a60]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc8], eax
mov byte [esp + 0x37], 1
mov byte [eax + 8], 0
mov ecx, dword [esp + 0xd8]
test ecx, ecx
je 0x5c1657
lea edi, [esp + 0x70]
mov edx, eax
xor eax, eax
call fcn.0045cbbb
mov ecx, dword [edx + 0x7c]
test ecx, ecx
sete bl
mov ebp, dword [edx + 0x78]
test ebp, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
test ecx, ecx
setg cl
lea esi, [esp + 0x1c]
mov dword [esp + 0x58], esi
and ebp, ebx
or ecx, ebp
test cl, cl
jne 0x5c15ec
mov eax, dword [edx + 0xc]
lea ecx, [0x644ee0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd8]
lea ebx, [eax + 0x18]
mov dword [esp + 0x54], ebx
mov dword [esp + 8], ebx
call fcn.0040d8e0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
movzx edx, byte [esp + 0x10]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
test dl, dl
je 0x5c13f1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x50], edx
xor ebp, ebp
xor esi, esi
jmp 0x5c10c4
mov ebx, dword [esp + 0x4c]
mov ebx, ecx
mov ebp, eax
mov esi, edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x38], ebx
xchg esi, eax
mov byte [esp + 0x35], al
xchg esi, eax
xchg ebp, eax
mov byte [esp + 0x34], al
xchg ebp, eax
test ebx, ebx
jle 0x5c1394
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c1392
mov eax, dword [ecx + ebx*4 - 4]
lea edi, [esp + 0x5c]
lea esi, [esp + 0x70]
call fcn.0045d09e
mov ecx, dword [esp + 0x5c]
mov esi, ebp
mov ebp, dword [esp + 0x60]
test ebp, 0x80000000
je 0x5c1383
shl ebp, 1
mov edi, ecx
shr ecx, 0x1f
or ebp, ecx
mov dword [esp + 0x44], ebp
mov ecx, edi
shl edi, 1
shl ebp, 1
shr edi, 0x1f
or edi, ebp
mov ebp, edi
add edi, 0xd7b17f80
mov ebx, dword [esp + 0x44]
shr ebx, 0x1f
add ebp, 0xd7b17f80
adc ebx, 0xd
mov dword [esp + 0x48], eax
test ebx, ebx
sete bl
test edi, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
test bl, bl
je 0x5c1308
test ecx, 0x3fffffff
jne 0x5c1308
xor ecx, ecx
mov byte [esp + 0x33], cl
test cl, cl
jne 0x5c12e5
mov dword [esp], eax
call fcn.005c5940
mov eax, dword [esp + 0x38]
lea ecx, [eax - 1]
movzx edx, byte [esp + 4]
test dl, dl
je 0x5c119a
movzx eax, byte [esp + 0x34]
movzx edx, byte [esp + 0x35]
jmp 0x5c10ae
movzx edx, byte [esp + 0x33]
test dl, dl
jne 0x5c118b
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.005c1e70
movzx eax, byte [esp + 0x10]
test al, al
je 0x5c12dc
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
test edx, edx
je 0x5c11f5
mov ecx, dword [esp + 0x38]
mov edx, eax
mov eax, 1
jmp 0x5c10ae
mov byte [esp + 0x36], al
nop
mov eax, dword [esp + 0xd4]
mov edx, dword [eax + 0x18]
lea ebx, [0x644b60]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040f570
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x10]
test cl, cl
jne 0x5c1234
movzx eax, byte [esp + 0x36]
mov ecx, dword [esp + 0x40]
jmp 0x5c11e9
mov ecx, dword [esp + 0xd4]
mov edx, dword [ecx + 0x14]
cmp dword [eax + 8], edx
jne 0x5c1282
mov edi, dword [eax + 4]
test byte [edi], al
nop
mov ebx, dword [0x7e34e0]
mov ebp, dword [eax]
test ebx, ebx
jne 0x5c12cc
mov dword [edi], ebp
mov ebx, dword [eax]
test byte [ebx], al
mov ebp, dword [0x7e34e0]
mov esi, dword [eax + 4]
test ebp, ebp
jne 0x5c12a1
mov dword [ebx + 4], esi
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
dec dword [edx + 0x14]
mov eax, dword [ecx + 0x18]
lea edx, [0x644b60]
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
call fcn.0040fd00
jmp 0x5c1229
lea edi, [ebx + 4]
mov ebx, eax
mov eax, esi
call fcn.0045c920
mov edi, ebx
xor eax, eax
call fcn.0045c920
lea ebp, [ebx + 4]
mov edi, ebp
call fcn.0045c920
lea edi, [ebx + 8]
xor eax, eax
call fcn.0045c920
jmp 0x5c127f
mov ebx, eax
mov eax, ebp
call fcn.0045c920
mov eax, ebx
jmp 0x5c1257
mov ecx, dword [esp + 0x38]
jmp 0x5c11e9
mov dword [esp], 4
lea ecx, [0x6927a4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0043bb40
mov eax, dword [esp + 0x48]
jmp 0x5c1173
test byte [eax], al
lea esi, [eax + 0x64]
lea edi, [esp + 0x84]
call fcn.0045d09e
mov edi, esp
lea esi, [esp + 0x84]
call fcn.0045d09e
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004a0a90
lea edi, [esp + 0x98]
mov esi, dword [esp + 0x58]
call fcn.0045d09e
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045d09e
mov edi, dword [esp + 0x50]
lea esi, [esp + 0x70]
call fcn.0045d09e
call fcn.0049dcf0
movzx ecx, byte [esp + 0x28]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
movzx esi, byte [esp + 0x34]
jmp 0x5c1167
mov edi, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
mov ebx, ebp
jmp 0x5c113d
test ebx, ebx
jle 0x5c15c3
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0xc]
lea edx, [0x644ee0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
call fcn.0040dcb0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x5c15b5
mov eax, dword [esp + 0x4c]
mov dword [edi], eax
movzx eax, byte [esp + 0x34]
test al, al
jne 0x5c158e
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x5c1555
mov ecx, dword [eax + 0x10]
lea edx, [0x644f60]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
call fcn.0040d6e0
mov esi, dword [esp + 0xc]
lea edi, [esp + 0xac]
call fcn.0045d08a
lea eax, [esp + 0xac]
mov dword [esp], eax
call fcn.005c2090
nop
mov eax, dword [esp + 0xc0]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc4]
cmp ebx, ecx
jb 0x5c1518
lea ecx, [eax + 1]
mov dword [esp + 0xc0], ecx
mov ecx, dword [0x7e34e0]
lea edi, [edx + eax*4]
test ecx, ecx
jne 0x5c1507
mov ecx, dword [esp + 0xd8]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0xd4]
mov eax, dword [eax + 0x10]
lea ecx, [0x644f60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
call fcn.0040dcb0
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x5c14e8
lea esi, [esp + 0xac]
call fcn.0045d08a
mov byte [esp + 0xdc], 0
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.00462b80
add esp, 0xd0
ret
lea eax, [0x65a540]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xac]
mov dword [esp + 8], eax
call fcn.00411d70
jmp 0x5c14c5
mov eax, dword [esp + 0xd8]
call fcn.0045c920
jmp 0x5c1485
lea ebp, [0x6589e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004441e0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], edx
jmp 0x5c1460
call fcn.0040d2e0
mov eax, dword [0x7e34e0]
mov ecx, dword [esp]
test eax, eax
jne 0x5c1576
mov eax, dword [esp + 0xd4]
mov dword [eax + 0x10], ecx
jmp 0x5c1403
mov edx, dword [esp + 0xd4]
lea edi, [edx + 0x10]
mov eax, ecx
call fcn.0045c920
mov eax, edx
jmp 0x5c1403
movzx eax, byte [esp + 0x35]
mov byte [esp + 0xdc], al
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.00462b80
add esp, 0xd0
ret
mov eax, dword [esp + 0x4c]
call fcn.0045c920
jmp 0x5c13e4
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0xc]
lea edx, [0x644ee0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
call fcn.0040e1a0
jmp 0x5c13e4
call fcn.0049f7d0
lea edi, [esp + 0x98]
mov esi, esp
call fcn.0045d09e
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x44], ecx
xor edx, edx
sub edx, ecx
mov ebx, dword [eax + 0x7c]
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045d09e
mov dword [esp + 0x14], edx
xor ecx, ecx
mov edx, dword [esp + 0x44]
sub ecx, edx
mov ecx, 0
sbb ecx, ebx
mov dword [esp + 0x18], ecx
call fcn.0049ec80
lea edi, [esp + 0x70]
mov esi, dword [esp + 0x58]
call fcn.0045d09e
mov edx, dword [esp + 0xd4]
jmp 0x5c1058
mov byte [esp + 0xdc], 0
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.00462b80
add esp, 0xd0
ret
mov byte [esp + 0xdc], 0
add esp, 0xd0
ret
call fcn.0045b380
jmp fcn.005c0f90