Function at 0x18015ae60
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rbx
push r12
push r15
lea rbp, [rsp - 0x248]
sub rsp, 0x348
movaps xmmword [rsp + 0x330], xmm6
movaps xmmword [rsp + 0x2b0], xmm14
mov rax, qword [0x180190240]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov edx, dword [0x18019362c]
mov r12, rcx
movsd xmm14, qword [rcx + 0xe8]
movaps xmm6, xmm1
mov rax, qword gs:[0x58]
mulsd xmm14, qword [0x18016ff50]
mov qword [rbp - 0x60], rcx
mov ecx, 0x54
mov rax, qword [rax + rdx*8]
mov byte [rsp + 0x30], 0
mov edx, dword [rcx + rax]
cmp dword [0x180193518], edx
jg 0x18015bcdf
mulsd xmm6, qword [0x18016fe78]
movabs rax, 0x6666666666666667
mov rcx, qword [r12 + 8]
mov r15d, 0
sub rcx, qword [r12]
movsd xmm0, qword [0x18016ff48]
imul rcx
maxsd xmm6, qword [0x180193510]
movsd qword [rsp + 0x38], xmm0
mov qword [rsp + 0x380], rdi
minsd xmm6, qword [0x18016bed0]
mov rbx, rdx
sar rbx, 5
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov eax, r15d
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x20], rax
je 0x18015afba
movabs rax, 0x1fffffffffffffff
cmp rbx, rax
ja 0x18015bd23
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.180059d80
mov rdi, rax
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x30], rax
lea r8, [rbx*8]
add rax, r8
xorps xmm0, xmm0
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x20], rax
movq rax, xmm0
cmp qword [rsp + 0x38], rax
jne 0x18015afaa
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
jmp 0x18015afba
movabs rax, 0x3ff8000000000000
mov rcx, rbx
rep stosq qword [rdi], rax
mov qword [rsp + 0x378], rsi
mov qword [rsp + 0x388], r13
mov qword [rsp + 0x340], r14
movaps xmmword [rsp + 0x310], xmm8
movaps xmmword [rsp + 0x2f0], xmm10
movsd xmm10, qword [r12 + 0x88]
divsd xmm10, qword [r12 + 0x80]
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_log2
movsd xmm8, qword [0x18016be58]
mov rax, r15
subsd xmm0, xmm8
mov qword [rsp + 0x38], rax
mov rdx, r15
mov qword [rbp - 0x68], rax
mov qword [rbp + 0x48], rdx
cvttsd2si r14d, xmm0
xorps xmm0, xmm0
neg r14d
movsxd r13, r14d
mov qword [rbp - 0x58], r13
mov dword [rsp + 0x78], r14d
movdqu xmmword [rbp + 0x38], xmm0
movdqu xmmword [rbp - 0x78], xmm0
je 0x18015b0bf
movabs rax, 0xaaaaaaaaaaaaaaa
cmp r13, rax
ja 0x18015bd29
mov rdx, r13
lea rcx, [rbp - 0x78]
call fcn.18010ba80
mov rbx, rax
mov qword [rbp - 0x78], rax
lea rax, [r13*2]
mov rsi, r13
add rax, r13
mov rdi, rbx
lea rax, [rbx + rax*8]
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x68], rax
nop dword [rax]
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.180025170
add rdi, 0x18
sub rsi, 1
jne 0x18015b090
lea r8, [rbp - 0x78]
mov rdx, rdi
mov rcx, rdi
call fcn.180014f60
mov rdx, qword [rbp + 0x48]
mov qword [rbp - 0x70], rdi
jmp 0x18015b0c3
mov rbx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x38]
movaps xmmword [rsp + 0x300], xmm9
test rcx, rcx
je 0x18015b106
sub rdx, rcx
mov rax, rcx
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x18015b101
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18015bc59
call sub.FactoryServer_Core.dll_public:_static_void___cdecl_FMemory::Free_void____ptr64_
mov r9, qword [r12]
movabs rax, 0x6666666666666667
mov rcx, qword [r12 + 8]
mov esi, r15d
movsd xmm9, qword [0x18016be50]
sub rcx, r9
imul rcx
mov dword [rsp + 0x34], r15d
mov r11d, 1
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18015b2f5
mov r13, r15
nop dword [rax]
cmp byte [r9 + r13 + 0x3a], 0
jne 0x18015b2b5
mov r8, qword [r9 + r13 + 0x20]
xor dil, dil
mov rdx, qword [r9 + r13 + 0x18]
cmp rdx, r8
je 0x18015b2b5
mov r10, qword [r12 + 0x18]
nop word [rax + rax]
movsxd rax, dword [rdx]
movzx edi, dil
lea rcx, [rax + rax*4]
add rcx, rcx
comisd xmm6, xmmword [r10 + rcx*8 + 0x30]
cmovb edi, r11d
add rdx, 4
cmp rdx, r8
jne 0x18015b180
test dil, dil
je 0x18015b2b5
movsd xmm0, qword [r9 + r13 + 0x40]
call sub.api_ms_win_crt_math_l1_1_0.dll_log2
lea eax, [r14 - 1]
subsd xmm0, xmm9
cvttsd2si ecx, xmm0
neg ecx
cmp ecx, r14d
cmovl eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov r15, qword [rbx + rcx*8 + 8]
lea rdi, [rbx + rcx*8]
mov rcx, qword [rbx + rcx*8 + 0x10]
cmp r15, rcx
je 0x18015b1f2
mov dword [r15], esi
add qword [rdi + 8], 4
jmp 0x18015b2af
mov rax, qword [rdi]
mov rsi, r15
sub rsi, rax
movabs r9, 0x3fffffffffffffff
sar rsi, 2
cmp rsi, r9
je 0x18015bcd9
sub rcx, rax
lea r8, [rsi + 1]
sar rcx, 2
mov rax, r9
mov rdx, rcx
mov qword [rsp + 0x70], r8
shr rdx, 1
sub rax, rdx
cmp rcx, rax
jbe 0x18015b238
mov r14, r9
jmp 0x18015b243
lea r14, [rcx + rdx]
cmp r14, r8
cmovb r14, r8
mov rdx, r14
mov rcx, rdi
call fcn.18010b300
mov r12, rax
mov eax, dword [rsp + 0x34]
mov rcx, r12
mov dword [r12 + rsi*4], eax
mov r8, qword [rdi + 8]
mov rdx, qword [rdi]
cmp r15, r8
jne 0x18015b26d
sub r8, rdx
jmp 0x18015b28a
mov r8, r15
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rdi + 8]
lea rcx, [rsi + 1]
lea rcx, [r12 + rcx*4]
sub r8, r15
mov rdx, r15
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rsp + 0x70]
mov r9, r14
mov rdx, r12
mov rcx, rdi
call fcn.180056e50
mov esi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x78]
mov r12, qword [rbp - 0x60]
mov r11d, 1
mov r9, qword [r12]
inc esi
mov rcx, qword [r12 + 8]
movabs rax, 0x6666666666666667
sub rcx, r9
mov dword [rsp + 0x34], esi
imul rcx
add r13, 0x50
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, esi
cmp rax, rdx
jb 0x18015b150
movsxd r13, r14d
xor esi, esi
mov ecx, esi
mov dword [rsp + 0x34], ecx
test r14d, r14d
jle 0x18015bb06
movaps xmmword [rsp + 0x320], xmm7
mov edi, esi
movaps xmmword [rsp + 0x2e0], xmm11
movsd xmm11, qword [0x18016be80]
movaps xmmword [rsp + 0x2d0], xmm12
movsd xmm12, qword [0x18016c740]
movaps xmmword [rsp + 0x2c0], xmm13
movsd xmm13, qword [0x18016be70]
mov qword [rsp + 0x70], rsi
nop dword [rax + rax]
mov rax, qword [rbx + rdi + 8]
sub rax, qword [rbx + rdi]
test rax, 0xfffffffffffffffc
je 0x18015babc
movd xmm1, ecx
movaps xmm0, xmm13
cvtdq2pd xmm1, xmm1
xorps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
mov dword [rbp - 0x10], 0
mov ecx, 0x18
mulsd xmm7, xmm14
mov qword [rbp - 8], rsi
mov qword [rbp], rsi
call fcn.1800279e0
xorps xmm1, xmm1
lea rcx, [rbp + 8]
mov r8, rax
mov edx, 0x10
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 8], rax
mov qword [rbp + 8], rsi
movdqa xmmword [rbp + 0x10], xmm1
mov qword [rbp + 0x20], 7
mov qword [rbp + 0x28], 8
mov dword [rbp - 0x10], 0x3f800000
call fcn.1800fd8b0
mov ecx, 0x10
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rsi
call fcn.1800279e0
lea rcx, [rsp + 0x40]
mov r15d, esi
mov qword [rax + 8], rsi
mov qword [rsp + 0x40], rax
mov qword [rax], rcx
mov rax, qword [rbx + rdi + 8]
sub rax, qword [rbx + rdi]
mov rcx, qword [rbp - 0x30]
sar rax, 2
mov qword [rsp + 0x68], rcx
test rax, rax
je 0x18015b52f
mov r13, rsi
mov r14, rsi
mov r12, qword [rbx + rdi]
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea eax, [rdx + rdi]
test al, 3
jne 0x18015b476
lea rax, [rdi + 4]
shr rax, 2
cmp rcx, rax
ja 0x18015b476
mov edx, 1
lea rcx, [rsp + 0x40]
call fcn.180103cc0
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
lea rax, [rcx*4 - 1]
and rdx, rax
mov qword [rsp + 0x58], rdx
lea rsi, [rdi + rdx]
lea rdi, [rcx - 1]
mov rax, rsi
mov rcx, qword [rsp + 0x48]
shr rax, 2
and rdi, rax
cmp qword [rcx + rdi*8], 0
jne 0x18015b4bf
mov ecx, 0x10
call fcn.1800279e0
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax + rdi*8], rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + rdi*8]
lea rdx, [rbp + 0xe8]
mov eax, dword [r14 + r12]
and esi, 3
mov rdi, qword [rsp + 0x70]
mov dword [rcx + rsi*4], eax
lea rcx, [rbp - 0x10]
inc qword [rsp + 0x60]
mov rax, qword [rbx + rdi]
lea r8, [rax + r13*4]
call fcn.1800c11f0
mov rcx, qword [rbx + rdi]
inc r15d
mov rdx, qword [rsp + 0x68]
movabs r8, 0x3fe0000000000000
movsxd r13, r15d
movsxd rax, dword [r14 + rcx]
add r14, 4
mov qword [rdx + rax*8], r8
mov rax, qword [rbx + rdi + 8]
sub rax, rcx
sar rax, 2
cmp r13, rax
jb 0x18015b431
mov r12, qword [rbp - 0x60]
xor esi, esi
lea rcx, [rbp + 0x160]
mov qword [rbp + 0x110], rsi
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x130], rsi
mov dword [rbp + 0x138], esi
mov dword [rbp + 0x13c], 0x80
mov dword [rbp + 0x140], 0xffffffff
mov dword [rbp + 0x144], esi
mov qword [rbp + 0x150], rsi
mov dword [rbp + 0x158], esi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov edx, 0xfa0
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_SetCriticalSectionSpinCount]
mov r15, qword [rsp + 0x70]
movaps xmm1, xmm7
mov dword [rbp + 0x190], 0xffffffff
mov r14d, esi
mulsd xmm1, xmm11
movsd qword [rbp + 0x188], xmm1
mov rdi, qword [rbx + rdi]
mov rax, qword [rbx + r15 + 8]
sub rax, rdi
sar rax, 2
test rax, rax
je 0x18015b706
mov r8, rsi
movsxd rax, dword [rsi + rdi]
movaps xmm0, xmm8
divsd xmm0, xmm1
movabs r9, 0x8000000000000000
lea rdx, [rax + rax*4]
shl rdx, 4
add rdx, qword [r12]
xorps xmm2, xmm2
movaps xmm1, xmm0
mulsd xmm1, qword [rdx]
cvttsd2si rcx, xmm1
cmp rcx, r9
je 0x18015b62c
xorps xmm2, xmm2
cvtsi2sd xmm2, rcx
ucomisd xmm2, xmm1
je 0x18015b62c
unpcklpd xmm1, xmm1
movmskpd eax, xmm1
xorps xmm1, xmm1
and eax, 1
sub rcx, rax
cvtsi2sd xmm1, rcx
cvttsd2si eax, xmm1
movaps xmm1, xmm0
xorps xmm2, xmm2
mulsd xmm1, qword [rdx + 8]
mov dword [rbp - 0x50], eax
cvttsd2si rcx, xmm1
cmp rcx, r9
je 0x18015b66c
xorps xmm2, xmm2
cvtsi2sd xmm2, rcx
ucomisd xmm2, xmm1
je 0x18015b66c
unpcklpd xmm1, xmm1
movmskpd eax, xmm1
xorps xmm1, xmm1
and eax, 1
sub rcx, rax
cvtsi2sd xmm1, rcx
mulsd xmm0, qword [rdx + 0x10]
cvttsd2si eax, xmm1
cvttsd2si rcx, xmm0
mov dword [rbp - 0x4c], eax
xorps xmm1, xmm1
cmp rcx, r9
je 0x18015b6a9
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
ucomisd xmm1, xmm0
je 0x18015b6a9
unpcklpd xmm0, xmm0
movmskpd eax, xmm0
xorps xmm0, xmm0
and eax, 1
sub rcx, rax
cvtsi2sd xmm0, rcx
cvttsd2si eax, xmm0
xor r9d, r9d
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x110]
mov dword [rbp - 0x48], eax
lea rax, [rbp - 0x50]
mov qword [rbp + 0x50], rax
lea rax, [rdi + r8*4]
lea r8, [rbp + 0x50]
mov qword [rbp + 0x58], rax
call fcn.1800b01b0
mov rax, qword [rbx + r15 + 8]
inc r14d
mov rdi, qword [rbx + r15]
add rsi, 4
sub rax, rdi
movsxd r8, r14d
sar rax, 2
cmp r8, rax
jae 0x18015b704
movsd xmm1, qword [rbp + 0x188]
jmp 0x18015b5d2
xor esi, esi
cmp qword [rsp + 0x60], 0
je 0x18015ba67
mov r8, qword [rbp - 8]
nop word [rax + rax]
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov rcx, rdx
shr rcx, 2
and edx, 3
dec rax
and rcx, rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rcx + rdx*4]
sub qword [rsp + 0x60], 1
jne 0x18015b756
mov qword [rsp + 0x58], rsi
jmp 0x18015b75b
inc qword [rsp + 0x58]
lea rcx, [rax + rax*4]
mov rax, qword [r12]
add rcx, rcx
mov rdx, qword [rax + rcx*8 + 0x18]
mov rax, qword [rax + rcx*8 + 0x20]
mov qword [rbp - 0x80], rdx
mov qword [rbp + 0x30], rax
cmp rdx, rax
je 0x18015ba5b
nop dword [rax]
nop word [rax + rax]
movsxd rax, dword [rdx]
mov ebx, 4
mov r14, rsi
mov qword [rsp + 0x38], rbx
mov r13, rsi
lea r15, [rax + rax*4]
shl r15, 4
nop dword [rax + rax]
mov rax, qword [r12 + 0x18]
movabs rdi, 0x100000001b3
add rax, r15
movabs rcx, 0xcbf29ce484222325
movzx edx, byte [r14 + rax]
xor rdx, rcx
movzx ecx, byte [r14 + rax + 1]
imul rdx, rdi
xor rdx, rcx
movzx ecx, byte [r14 + rax + 2]
imul rdx, rdi
xor rdx, rcx
movzx ecx, byte [r14 + rax + 3]
imul rdx, rdi
xor rdx, rcx
mov rcx, qword [rbp + 8]
imul rdx, rdi
mov rdi, qword [rbp + 0x20]
and rdi, rdx
add rdi, rdi
mov rdx, qword [rcx + rdi*8 + 8]
cmp rdx, r8
je 0x18015b834
mov rdi, qword [rcx + rdi*8]
mov ecx, dword [r14 + rax]
cmp ecx, dword [rdx + 0x10]
je 0x18015b837
cmp rdx, rdi
je 0x18015b834
mov rdx, qword [rdx + 8]
cmp ecx, dword [rdx + 0x10]
jne 0x18015b824
jmp 0x18015b837
mov rdx, rsi
test rdx, rdx
mov rcx, r8
cmovne rcx, rdx
cmp rcx, r8
jne 0x18015ba2e
movsxd rcx, dword [r14 + rax]
lea r8, [rbp + 0x70]
mov qword [rbp - 0x40], r12
lea rdx, [rbp + 0x60]
movaps xmm3, xmm7
lea rax, [rcx + rcx*4]
shl rax, 4
lea rcx, [0x18016faf0]
add rax, qword [r12]
mov qword [rbp - 0x38], rax
mov qword [rbp + 0xd8], rcx
lea rcx, [rbp - 0x40]
mov qword [rbp + 0xe0], rcx
lea rcx, [rbp + 0x110]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x70], xmm0
movsd xmm0, qword [rax + 0x10]
lea rax, [rsp + 0x31]
mov qword [rbp + 0x90], rax
lea rax, [0x1800e1bf0]
mov qword [rbp + 0x88], rax
lea rax, [0x18016fb20]
mov qword [rbp + 0x98], rax
lea rax, [rsp + 0x31]
mov qword [rbp + 0xa0], rax
lea rax, [0x1800e1d60]
mov qword [rbp + 0xa8], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 0xb0], rax
lea rax, [rbp - 0x40]
movsd qword [rbp + 0x80], xmm0
movups xmm0, xmmword [rbp + 0xd8]
movups xmmword [rbp + 0xb8], xmm0
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
call fcn.1800b0380
cmp dword [rbp + 0x60], 0xffffffff
je 0x18015ba0f
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rdi, qword [r12 + 0x18]
movsd xmm6, qword [rbp + 0x68]
add rdi, r15
mov rcx, qword [rsp + 0x50]
lea eax, [rdx + r8]
sqrtpd xmm6, xmm6
test al, 3
jne 0x18015b981
lea rax, [r8 + 4]
shr rax, 2
cmp rcx, rax
ja 0x18015b981
mov edx, 1
lea rcx, [rsp + 0x40]
call fcn.180103cc0
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea rax, [rcx*4 - 1]
and rdx, rax
lea rbx, [rcx - 1]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x58], rdx
lea rsi, [r8 + rdx]
mov rax, rsi
shr rax, 2
and rbx, rax
cmp qword [rcx + rbx*8], 0
jne 0x18015b9ca
mov ecx, 0x10
call fcn.1800279e0
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax + rbx*8], rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + rbx*8]
and esi, 3
mov eax, dword [r14 + rdi]
mov rbx, qword [rsp + 0x38]
divsd xmm6, xmm7
mov dword [rcx + rsi*4], eax
xor esi, esi
inc qword [rsp + 0x60]
mov rax, qword [r12 + 0x18]
add rax, r15
movsxd rcx, dword [r14 + rax]
mov rax, qword [rsp + 0x68]
addsd xmm6, xmm8
mulsd xmm6, xmm9
comisd xmm6, xmmword [rax + rcx*8]
jae 0x18015ba0f
movsd qword [rax + rcx*8], xmm6
mov r8, qword [r12 + 0x18]
lea rdx, [rbp + 0xf8]
add r8, r13
lea rcx, [rbp - 0x10]
add r8, r15
call fcn.1800c11f0
mov r8, qword [rbp - 8]
add r13, 4
add r14, 4
sub rbx, 1
mov qword [rsp + 0x38], rbx
jne 0x18015b7b0
mov rdx, qword [rbp - 0x80]
add rdx, 4
mov qword [rbp - 0x80], rdx
cmp rdx, qword [rbp + 0x30]
jne 0x18015b790
cmp qword [rsp + 0x60], 0
jne 0x18015b720
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rbp + 0x150]
mov dword [rbp + 0x158], esi
test rcx, rcx
je 0x18015ba8c
call qword [sym.imp.FactoryServer_Core.dll_public:_static_void___cdecl_FMemory::Free_void____ptr64_]
lea rcx, [rbp + 0x110]
call fcn.1800ce230
lea rcx, [rsp + 0x40]
call fcn.1800ce7d0
lea rcx, [rbp - 0x10]
call fcn.1800ce3b0
mov ecx, dword [rsp + 0x34]
mov rbx, qword [rbp - 0x78]
mov rdi, qword [rsp + 0x70]
mov r13, qword [rbp - 0x58]
inc ecx
add rdi, 0x18
sub r13, 1
mov dword [rsp + 0x34], ecx
mov qword [rbp - 0x58], r13
mov qword [rsp + 0x70], rdi
jne 0x18015b350
mov rsi, qword [rbp - 0x20]
mov r14, qword [rbp - 0x68]
movaps xmm13, xmmword [rsp + 0x2c0]
movaps xmm12, xmmword [rsp + 0x2d0]
movaps xmm11, xmmword [rsp + 0x2e0]
movaps xmm7, xmmword [rsp + 0x320]
jmp 0x18015bb0f
mov rsi, qword [rbp - 0x80]
mov r14, qword [rsp + 0x38]
mov rdi, qword [r12]
movabs r11, 0x6666666666666667
mov rcx, qword [r12 + 8]
mov rax, r11
mov r13, qword [rsp + 0x68]
sub rcx, rdi
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18015bbc8
xor r15d, r15d
mov r9, r13
mov r8d, r15d
movabs r10, 0x3ff0000000000000
cmp byte [r8 + rdi + 0x3a], 0
jne 0x18015bb95
movsd xmm0, qword [r9]
mulsd xmm0, qword [r8 + rdi + 0x40]
comisd xmm0, xmm8
jbe 0x18015bb79
mov qword [r8 + rdi + 0x40], r10
jmp 0x18015bb95
comisd xmm0, xmm10
jae 0x18015bb8e
movsd qword [r8 + rdi + 0x40], xmm10
mov byte [rsp + 0x30], 1
jmp 0x18015bb95
movsd qword [r8 + rdi + 0x40], xmm0
mov rdi, qword [r12]
inc r15d
mov rcx, qword [r12 + 8]
mov rax, r11
sub rcx, rdi
add r8, 0x50
imul rcx
add r9, 8
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r15d
cmp rax, rdx
jb 0x18015bb57
test rbx, rbx
je 0x18015bc2c
mov rdx, qword [rbp - 0x70]
lea r8, [rbp - 0x78]
mov rcx, rbx
call fcn.180014f60
sub r14, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul r14
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, rbx
lea rdx, [rdx + rdx*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x18015bc24
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18015bc59
mov rcx, rbx
call sub.FactoryServer_Core.dll_public:_static_void___cdecl_FMemory::Free_void____ptr64_
test r13, r13
je 0x18015bc6b
sub rsi, r13
mov rax, r13
and rsi, 0xfffffffffffffff8
cmp rsi, 0x1000
jb 0x18015bc60
mov r13, qword [r13 - 8]
add rsi, 0x27
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18015bc60
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rsi
mov rcx, r13
call sub.FactoryServer_Core.dll_public:_static_void___cdecl_FMemory::Free_void____ptr64_
movzx eax, byte [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x300]
movaps xmm8, xmmword [rsp + 0x310]
mov r14, qword [rsp + 0x340]
mov r13, qword [rsp + 0x388]
mov rsi, qword [rsp + 0x378]
movaps xmm10, xmmword [rsp + 0x2f0]
mov rdi, qword [rsp + 0x380]
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.180163c20
movaps xmm6, xmmword [rsp + 0x330]
movaps xmm14, xmmword [rsp + 0x2b0]
add rsp, 0x348
pop r15
pop r12
pop rbx
pop rbp
ret
call fcn.180059960
int3
lea rcx, [0x180193518]
call fcn.18016379c
cmp dword [0x180193518], 0xffffffff
jne 0x18015aee0
movsd xmm0, qword [r12 + 0x98]
lea rcx, [0x180193518]
mulsd xmm0, qword [0x18016ff00]
movsd qword [0x180193510], xmm0
call fcn.180163734
jmp 0x18015aee0
call fcn.1800599a0
int3
call fcn.180059c20
int3