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

Disassembly:
mov ecx, dword [0x65da0168]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x65c065e0
sub esp, 0x60
mov eax, dword [esp + 0x64]
test eax, eax
je 0x65c06009
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x34], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x38], edx
nop
mov dword [esp], eax
call fcn.65c30df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x34]
cmp dword [esp + 4], ecx
setne dl
mov ebx, dword [esp + 0x38]
cmp eax, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or edx, ebp
test dl, dl
je 0x65c06073
mov edx, dword [esp + 0x64]
mov ebp, dword [edx + 0x38]
mov esi, ebx
shr ebx, 2
shr eax, 2
nop
nop
nop
sub ebx, eax
test ebp, ebp
je 0x65c065da
shl ebx, 2
mov edi, edx
xor edx, edx
div ebp
sar ebx, 2
jmp 0x65c0657d
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov byte [esp + 0x84], 1
add esp, 0x60
ret
mov eax, dword [esp + 0x64]
lea ecx, [eax + 0x54]
mov dword [esp], ecx
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], 0xffffffff
call fcn.65bcaab0
nop
mov eax, dword [esp + 0x64]
mov dword [eax + 0x54], 0
mov eax, dword [esp + 0x64]
lea ecx, [eax + 8]
mov dword [esp + 0x50], ecx
mov dword [esp], ecx
call fcn.65c30df0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov edx, ecx
sub edx, eax
shl edx, 2
sar edx, 2
nop
mov ebx, dword [esp + 8]
mov dword [esp + 0x1c], ebx
test edx, edx
jne 0x65c062e5
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x64]
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.65c30df0
mov eax, dword [esp + 4]
test eax, eax
jbe 0x65c060e2
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.65c05d70
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x65c06073
jmp 0x65c06150
mov eax, dword [esp + 0x64]
lea ecx, [eax + 0x20]
mov dword [esp], ecx
call fcn.65c30b70
mov eax, dword [esp + 4]
test eax, eax
ja 0x65c062a6
mov eax, dword [esp + 0x1c]
test eax, 2
jne 0x65c0627c
mov ecx, dword [esp + 0x68]
cmp ecx, 1
je 0x65c0623d
mov ecx, eax
or eax, 1
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.65c30ca0
movzx eax, byte [esp + 0x14]
test al, al
je 0x65c06073
jmp 0x65c06048
mov ebx, dword [esp + 0x64]
mov ebp, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x50]
test ebp, ebp
jbe 0x65c06573
mov dword [esp + 0x30], eax
mov edi, dword [ebx + 0x48]
mov eax, dword [ebx + 0x24]
add eax, 3
mov dword [edi], eax
mov dword [edi + 4], 0
cmp ebp, 1
jbe 0x65c06567
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov eax, dword [ebx + 0x24]
lea ecx, [eax + 2]
cmp esi, ecx
jb 0x65c06560
cmp ecx, 2
jb 0x65c06556
lea edx, [esi - 2]
neg edx
sar edx, 0x1f
and edx, 0x10
add edx, edi
cmp ecx, 2
je 0x65c061db
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x54], edi
mov dword [esp], edx
shl eax, 3
mov dword [esp + 4], eax
call fcn.65c2cde0
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x54]
mov eax, dword [ebx + 0x24]
lea ecx, [eax + 2]
cmp ebp, ecx
jbe 0x65c0654d
lea eax, [edi + eax*8 + 0x10]
mov ebp, dword [esp + 0x30]
mov dword [eax], ebp
mov dword [eax + 4], 0
mov eax, dword [ebx + 0x24]
lea ecx, [eax + 3]
cmp esi, ecx
jb 0x65c06546
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], esi
lea eax, [0x65d81104]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 1
mov dword [esp + 0x80], 1
mov byte [esp + 0x84], 0
add esp, 0x60
ret
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov byte [esp + 0x84], 0
add esp, 0x60
ret
mov ecx, eax
and eax, 0xfffffffd
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.65c30ca0
jmp 0x65c06073
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov byte [esp + 0x84], 1
add esp, 0x60
ret
mov ebp, dword [esp + 0x64]
mov esi, dword [ebp + 0x2c]
test esi, esi
je 0x65c06541
mov ecx, edx
xor edx, edx
div esi
mov edi, esi
sub esi, edx
mov eax, edx
shl edx, 3
mov ebx, dword [ebp + 0x28]
mov ebp, dword [ebp + 0x30]
mov dword [esp + 0x4c], ebp
sub ebp, eax
mov eax, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
lea ebp, [ebx + edx]
cmp ecx, esi
jge 0x65c0632f
cmp ecx, eax
ja 0x65c0653a
mov esi, ecx
jmp 0x65c0633f
sub ecx, esi
mov dword [esp + 0x3c], eax
mov eax, ecx
mov ecx, esi
mov esi, eax
mov eax, dword [esp + 0x3c]
test ecx, ecx
jbe 0x65c06531
mov dword [esp + 0x48], eax
mov eax, dword [ebx + edx]
mov edx, dword [ebx + edx + 4]
test edx, edx
sete dl
test eax, eax
sete al
and edx, eax
test dl, dl
je 0x65c0637b
cmp esi, edi
jge 0x65c06373
mov edx, dword [esp + 0x4c]
cmp esi, edx
jbe 0x65c06385
jmp 0x65c0652a
mov edx, dword [esp + 0x4c]
mov esi, edi
jmp 0x65c06385
mov esi, ecx
mov edx, dword [esp + 0x48]
mov ebx, ebp
xor ecx, ecx
mov ebp, dword [esp + 0x1c]
shr ebp, 2
mov eax, dword [esp + 0x38]
shr eax, 2
sub ebp, eax
shl ebp, 2
sar ebp, 2
nop
nop
nop
test ebp, ebp
je 0x65c06514
mov dword [esp + 0x4c], edx
mov edi, dword [esp + 0x64]
mov edx, dword [edi + 0x38]
test edx, edx
je 0x65c0650f
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x5c], ebx
mov ebx, edx
xor edx, edx
div ebx
sub ebx, edx
mov eax, edx
shl edx, 2
mov ecx, dword [edi + 0x3c]
sub ecx, eax
mov eax, ecx
neg ecx
sar ecx, 0x1f
and edx, ecx
mov ecx, dword [edi + 0x34]
add ecx, edx
cmp ebp, ebx
jge 0x65c063f2
cmp ebp, eax
jbe 0x65c063f4
jmp 0x65c06506
mov ebp, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], ecx
mov ebx, dword [esp + 0x5c]
xor edx, edx
xor edx, edx
mov dword [esp + 0x20], edx
xor edx, edx
jmp 0x65c06421
add edx, eax
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
cmp edx, esi
jge 0x65c06475
jae 0x65c064fd
lea ecx, [ebx + edx*8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
test eax, eax
xchg edi, ebx
setne bl
xchg edi, ebx
test ecx, ecx
setne cl
or ecx, edi
test cl, cl
je 0x65c06469
mov ecx, dword [esp + 0x20]
cmp ebp, ecx
jle 0x65c0645b
lea edi, [eax + edx]
cmp esi, edi
jae 0x65c0640c
jmp 0x65c064e7
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
jmp 0x65c06475
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
mov ebp, dword [esp + 0x24]
add ebp, edx
mov esi, dword [esp + 0x20]
and esi, 0x3fffffff
mov ebx, dword [esp + 0x34]
add ebx, ebp
mov dword [edi + 0x40], ebx
mov ebx, dword [esp + 0x44]
add ebx, esi
shl ebx, 2
mov dword [edi + 0x44], ebx
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
ja 0x65c064de
mov ebp, dword [esp + 0x20]
cmp ebp, eax
ja 0x65c064d5
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], eax
mov byte [esp + 0x84], 0
add esp, 0x60
ret
mov ecx, ebp
mov edx, eax
call fcn.65c2c7a0
mov ecx, edx
mov edx, ebx
call fcn.65c2c7a0
lea eax, [0x65c9501f]
mov dword [esp], eax
mov dword [esp + 4], 0x30
call fcn.65c26c40
mov eax, edx
mov ecx, esi
call fcn.65c2c760
mov ecx, ebp
mov edx, eax
call fcn.65c2c7a0
call fcn.65bf3f80
lea eax, [0x65c95c39]
mov dword [esp], eax
mov dword [esp + 4], 0x3c
call fcn.65c26c40
mov ecx, esi
call fcn.65c2c7a0
xor eax, eax
mov ecx, eax
call fcn.65c2c760
mov edx, eax
call fcn.65c2c7a0
call fcn.65bf3f80
mov edx, esi
call fcn.65c2c7b0
mov eax, ecx
mov ecx, ebp
call fcn.65c2c770
mov eax, 2
call fcn.65c2c7c0
mov edx, esi
call fcn.65c2c7b0
mov eax, 1
mov ecx, eax
call fcn.65c2c760
xor eax, eax
mov ecx, eax
call fcn.65c2c760
dec ebx
test ebx, ebx
jle 0x65c065b4
mov ebp, dword [edi + 0x38]
cmp edx, ebp
jae 0x65c065d1
mov ebp, dword [0x65da0248]
mov eax, dword [edi + 0x34]
test ebp, ebp
je 0x65c065a3
mov ebp, dword [eax + edx*4]
call fcn.65c2c6e0
mov dword [edi], ebp
mov edi, dword [esp + 0x64]
mov dword [eax + edx*4], 0
inc edx
cmp dword [edi + 0x38], edx
jne 0x65c0657c
xor edx, edx
jmp 0x65c0657c
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.65c30e10
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0x65c06073
mov eax, edx
mov ecx, ebp
call fcn.65c2c760
call fcn.65bf3f80
nop
call fcn.65c2b2c0
jmp fcn.65c05f80