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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6599797a
sub esp, 0x74
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
test ecx, ecx
jge 0x659976c8
mov ecx, 0x186a0
mov dword [esp + 0x48], ecx
lea edx, [eax + 0x30]
mov dword [esp], edx
call fcn.65982600
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0x38]
mov edx, dword [esp + 4]
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x30], ebx
mov dword [esp], ecx
call fcn.65982600
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0x48]
mov edx, dword [esp + 4]
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x28], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x24], ebp
mov dword [esp], ecx
call fcn.659824b0
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0x20]
mov edx, dword [esp + 4]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x14], ebx
mov dword [esp], ecx
call fcn.65982600
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp], ebx
call fcn.659c6770
movsd xmm0, qword [0x65a2c2cc]
mulsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x48]
add eax, 0x64
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.659c6600
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
setb dl
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
cmp ebx, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edx
or ebp, esi
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x659977e7
mov ebp, dword [esp + 0x10]
cmp esi, ebp
setb bl
mov ecx, dword [esp + 0x14]
cmp edx, ecx
sete dl
setl cl
and edx, ebx
or ecx, edx
test cl, cl
je 0x65997827
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.659c66a0
movsd xmm0, qword [0x65a2c2b4]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.659c6600
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, ecx
jmp 0x6599782b
mov edx, dword [esp + 0x44]
sub esi, ebp
mov ecx, dword [esp + 0x14]
sbb edi, ecx
test edi, edi
setl cl
sete bl
cmp esi, 0x3e8
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, ebx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x65997859
xor edi, edi
mov esi, 0x3e8
mov ecx, dword [esp + 0x2c]
sub eax, ecx
mov ecx, dword [esp + 0x30]
sbb edx, ecx
test edx, edx
setl cl
sete bl
test eax, eax
xchg ebp, ebx
setbe bl
xchg ebp, ebx
and ebp, ebx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x65997887
xor edx, edx
mov eax, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], edx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.659c66a0
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
call fcn.659c66a0
movsd xmm0, qword [esp + 0x6c]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x5c], xmm0
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.659c66a0
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.659c66a0
movsd xmm0, qword [esp + 0x6c]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x64], xmm0
movsd xmm1, qword [esp + 0x5c]
movsd qword [esp + 0x4c], xmm1
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0x88]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov dword [esp], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
call fcn.65982620
movsd xmm0, qword [esp + 0x64]
movsd qword [esp + 0x54], xmm0
mov eax, dword [esp + 0x78]
add eax, 0x90
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
call fcn.65982620
add esp, 0x74
ret
call fcn.659c97c0
jmp fcn.659976a0