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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x64f9d315
sub esp, 0x74
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx]
test eax, eax
jl 0x64f9ce29
mov dword [esp + 0x68], eax
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x64], edx
mov ebx, edx
mov ebp, eax
mul edx
mov dword [esp + 0x60], edx
mov esi, eax
shr eax, 1
mov edi, 0xa3d70a3e
mul edi
shr edx, 5
mov dword [esp + 0x5c], edx
add edx, 0
mov dword [esp + 0x58], edx
mov ecx, dword [ecx + 0x44]
mov dword [esp + 0x54], ecx
sar ebp, 0x1f
imul ebp, ebx
mov ebx, dword [esp + 0x60]
add ebx, ebp
mov ebp, dword [esp + 0x68]
imul ecx, ebp
add ecx, ebx
mov ebx, ecx
shr ecx, 1
mov eax, ecx
mov ecx, edx
mul edi
shr edx, 5
mov dword [esp + 0x60], edx
imul ebp, edx, 0x64
sub ebx, ebp
mov eax, ebx
mov ebp, 0x28f5c28
mul ebp
mov dword [esp + 0x50], edx
add ecx, eax
mov edx, dword [esp + 0x5c]
imul ebp, edx, 0x64
sub esi, ebp
lea ebx, [ebx + ebx*2]
shl ebx, 5
add ebx, esi
shr ebx, 1
mov ebp, eax
mov eax, ebx
mov ebx, edx
mul edi
shr edx, 5
mov esi, edx
add edx, ecx
mov edi, dword [esp + 0x64]
mov eax, edi
add edi, edx
mov dword [esp + 0x38], edi
add ebx, 0
mov ebx, dword [esp + 0x60]
adc ebx, 0
mov edi, dword [esp + 0x58]
add edi, ebp
mov ebp, dword [esp + 0x50]
adc ebx, ebp
add esi, ecx
adc ebx, 0
add eax, edx
mov ecx, dword [esp + 0x54]
adc ebx, ecx
mov ecx, dword [esp + 0x68]
test ecx, ecx
mov eax, ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x38]
jmp 0x64f9ce33
mov ebx, 0xffffffff
mov edx, 0xffffffff
jl 0x64f9ce79
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x650d1934]
divsd xmm0, xmm1
movsd xmm1, qword [0x650d18fc]
mulsd xmm1, xmm0
movsd xmm2, qword [esp + 0x7c]
ucomisd xmm2, xmm1
ja 0x64f9ce61
movsd xmm1, xmm2
movsd xmm2, qword [0x650d18ec]
mulsd xmm2, xmm0
ucomisd xmm2, xmm1
ja 0x64f9ce8f
movsd xmm2, xmm1
jmp 0x64f9ce8f
xorps xmm0, xmm0
movsd xmm1, qword [esp + 0x7c]
ucomisd xmm0, xmm1
jbe 0x64f9ce8b
xorps xmm1, xmm1
movsd xmm2, xmm1
movsd qword [ecx + 0x10], xmm2
mov eax, dword [ecx]
test eax, eax
jge 0x64f9cea9
mov eax, 0xffffffff
mov ebp, 0xffffffff
jmp 0x64f9cfec
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x4c], edx
movsd qword [esp + 0x6c], xmm2
mov eax, dword [ecx + 0x40]
mov edx, dword [ecx + 0x44]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.64fd4e00
movsd xmm0, qword [0x650d1904]
movsd xmm1, qword [esp + 0x6c]
addsd xmm0, xmm1
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.64fd4ce0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x14], ebp
call fcn.64f9fff0
movzx eax, byte [esp]
test al, al
je 0x64f9cf24
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x64f9cf6c
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0x30]
mov dword [esp], ecx
call fcn.64f82800
mov eax, dword [esp + 4]
add eax, 0x100000
mov ecx, dword [esp + 8]
adc ecx, 0
mov edx, dword [esp + 0x24]
cmp edx, ecx
setb bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x20]
cmp eax, esi
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, ebp
or ebx, edi
test bl, bl
jne 0x64f9cf6c
mov eax, esi
mov ecx, edx
mov edx, dword [esp + 0x14]
cmp ecx, edx
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x10]
cmp eax, esi
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, ebp
or ebx, edi
test bl, bl
je 0x64f9cf97
mov edx, ecx
mov ebx, eax
jmp 0x64f9cfa1
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x14]
mov eax, esi
test ecx, ecx
jl 0x64f9d1ad
mov edx, dword [esp + 0x3c]
cmp edx, ecx
setb bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x4c]
cmp esi, eax
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, ebp
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x64f9cfd6
mov edx, ecx
mov ebx, eax
jmp 0x64f9cfe0
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x3c]
mov eax, esi
mov ebp, edx
mov edx, eax
mov eax, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], ebp
lea esi, [ecx + 0x20]
mov dword [esp], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
call fcn.64f82820
movzx eax, byte [0x65162108]
test al, al
je 0x64f9d01d
call fcn.64fceec0
mov eax, dword [0x6517db0c]
test eax, eax
je 0x64f9d033
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.64f9c200
call fcn.64f9fff0
movzx eax, byte [esp]
test al, al
je 0x64f9d050
xorps xmm0, xmm0
movsd qword [0x6515dba8], xmm0
jmp 0x64f9d1a4
mov eax, dword [esp + 0x78]
add eax, 0x30
mov dword [esp], eax
call fcn.64f82800
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
mov edx, ecx
sub ecx, eax
mov ebx, ecx
add ecx, 0xfff00000
mov ebp, dword [esp + 8]
mov dword [esp + 0x2c], ebp
sub edx, eax
mov edx, dword [esp + 0x14]
sbb edx, ebp
add ebx, 0xfff00000
adc edx, 0xffffffff
test edx, edx
setl bl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ecx, 0x2000
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, esi
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x64f9d0ba
xor edx, edx
mov ecx, 0x2000
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
lea eax, [0x6515db90]
mov dword [esp], eax
call fcn.64f82800
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x1c], ecx
lea edx, [0x6515db88]
mov dword [esp], edx
call fcn.64f82800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
sbb edx, ebx
test edx, edx
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
test eax, eax
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x64f9d132
xorps xmm0, xmm0
movsd qword [0x6515dba8], xmm0
jmp 0x64f9d1a4
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.64fd4d30
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.64fd4d30
movsd xmm0, qword [esp + 0x6c]
divsd xmm0, qword [esp + 8]
movsd qword [0x6515dba8], xmm0
mov eax, dword [esp + 0x2c]
mov dword [0x6515dba4], eax
mov eax, dword [esp + 0x28]
mov dword [0x6515dba0], eax
lea eax, [0x6515db98]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], eax
call fcn.64f82820
call fcn.64f9d5c0
add esp, 0x74
ret
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x5c], ecx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x58], edx
mov ebx, dword [eax + 0x40]
mov dword [esp + 0x54], ebx
mov ebp, dword [eax + 0x44]
mov dword [esp + 0x50], ebp
mov esi, dword [eax + 0x30]
mov dword [esp + 0x4c], esi
mov eax, dword [eax + 0x34]
mov dword [esp + 0x48], eax
mov edi, dword [0x6517e58c]
mov dword [esp + 0x44], edi
mov edi, dword [0x6517e590]
mov dword [esp + 0x40], edi
call fcn.64fb3f10
lea eax, [0x650a289e]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.64fb47f0
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.64fb4490
lea eax, [0x6509fd04]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call fcn.64fb47f0
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.64fb4490
lea eax, [0x650a4669]
mov dword [esp], eax
mov dword [esp + 4], 0x17
call fcn.64fb47f0
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.64fb4490
lea eax, [0x650a1cb8]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.64fb47f0
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.64fb4490
lea eax, [0x650a07e3]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.64fb47f0
movsd xmm0, qword [esp + 0x6c]
movsd qword [esp], xmm0
call fcn.64fb41d0
lea eax, [0x6509fd1c]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call fcn.64fb47f0
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.64fb4490
call fcn.64fb4130
call fcn.64fb3f80
lea eax, [0x650a21f7]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.64fb29f0
nop
call fcn.64fd8c20
jmp fcn.64f9cd30