Function at 0x1800d6950
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c88]
mov eax, 0x1d88
call fcn.1801924b0
sub rsp, rax
vmovaps xmmword [rsp + 0x1d70], xmm6
vmovaps xmmword [rsp + 0x1d60], xmm7
vmovaps xmmword [rsp + 0x1d50], xmm8
vmovaps xmmword [rsp + 0x1d40], xmm9
vmovaps xmmword [rsp + 0x1d30], xmm10
vmovaps xmmword [rsp + 0x1d20], xmm11
vmovaps xmmword [rsp + 0x1d10], xmm12
vmovaps xmmword [rsp + 0x1d00], xmm13
vmovaps xmmword [rsp + 0x1cf0], xmm14
vmovaps xmmword [rsp + 0x1ce0], xmm15
mov r13, r9
mov r14, r8
mov r15, rdx
xor esi, esi
mov edi, esi
mov dword [rbp + 0x1cd0], esi
test byte [0x180246884], 0x10
je 0x1800d6a37
mov rcx, qword [rdx]
add rcx, 0x10
mov rax, qword [rcx]
call qword [rax + 0x48]
mov dword [rbp - 0x7c], eax
lea r8, [rbp - 0x7c]
lea rdx, [rbp + 0x80]
lea rcx, [0x18023da90]
call fcn.1800c82d0
mov rcx, qword [rax]
mov eax, dword [0x180246784]
cmp dword [rcx + 0x14], eax
jle 0x1800d6a37
xor eax, eax
jmp 0x1800d868f
lea rcx, [rbp + 0x1c0]
call fcn.1800cc9e0
nop
mov byte [rsp + 0x20], 0
mov r9b, 1
lea r8, [rbp + 0x1c0]
mov rdx, qword [r15]
call fcn.18014f810
mov rcx, qword [r15]
call fcn.1800bdce0
lea r12, [r15 + 0xc]
mov ecx, dword [rax]
mov dword [r12], ecx
mov ecx, dword [rax + 4]
mov dword [r12 + 4], ecx
mov eax, dword [rax + 8]
mov dword [r12 + 8], eax
mov rcx, qword [r15]
call fcn.1800bdee0
mov rbx, rax
mov rcx, qword [r15]
call fcn.1800bdfe0
vmovss xmm0, dword [rbx + 8]
vsubss xmm5, xmm0, dword [rax + 8]
vmovss xmm1, dword [rbx + 4]
vsubss xmm3, xmm1, dword [rax + 4]
vmovss xmm0, dword [rbx]
vsubss xmm2, xmm0, dword [rax]
vmulss xmm3, xmm3, xmm3
vmulss xmm1, xmm2, xmm2
vaddss xmm4, xmm3, xmm1
vmulss xmm0, xmm5, xmm5
vaddss xmm0, xmm4, xmm0
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
ja 0x1800d6ad0
vsqrtss xmm8, xmm0, xmm0
jmp 0x1800d6ad9
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vmovaps xmm8, xmm0
vxorps xmm12, xmm12, xmm12
vmovss dword [rbp - 0x34], xmm12
mov dword [rbp + 0xe0], esi
vmovss dword [rbp + 0xec], xmm12
vmovss dword [rbp + 0xe8], xmm12
vmovss dword [rbp + 0xe4], xmm12
vmovss dword [rbp + 0xf8], xmm12
vmovss dword [rbp + 0xf4], xmm12
vmovss dword [rbp + 0xf0], xmm12
vmovups xmmword [rbp + 0xfc], xmm12
vmovss dword [rbp + 0x10c], xmm12
mov byte [rbp + 0x110], 0
vmovss xmm0, dword [0x180218c08]
vmovss dword [rbp - 0x60], xmm0
vmovss dword [rbp + 0x114], xmm0
mov qword [rbp + 0x118], rsi
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x120], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x130], xmm1
mov ecx, 0x10
call fcn.180190644
mov qword [rax + 8], rsi
mov qword [rbp + 0x118], rax
lea rcx, [rbp + 0x118]
mov qword [rax], rcx
vmovss dword [rsp + 0x58], xmm12
vmovss dword [rsp + 0x54], xmm12
vmovss dword [rsp + 0x50], xmm12
vmovss xmm7, dword [0x180218d6c]
vmovss dword [rsp + 0x38], xmm7
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov r8, r13
mov rdx, r14
call fcn.1801538e0
test al, al
je 0x1800d85ad
xor r8d, r8d
lea rdx, [rbp + 0xe0]
call fcn.180153b10
test al, al
je 0x1800d85ad
vmovss xmm0, dword [0x180245b84]
vminss xmm1, xmm0, dword [rbp + 0x114]
mov rax, qword [0x180243f18]
vdivss xmm2, xmm1, dword [rax + 0x1c]
vmovss xmm10, dword [0x1802189f4]
vaddss xmm0, xmm2, xmm10
vcvttss2si eax, xmm0
mov dword [rbp + 8], eax
mov rcx, qword [0x18023c518]
test rcx, rcx
jne 0x1800d6c32
vxorps xmm3, xmm3, xmm3
vxorps xmm0, xmm0, xmm0
vxorps xmm2, xmm2, xmm2
jmp 0x1800d6c67
vmovss dword [rsp + 0x58], xmm12
vmovss dword [rsp + 0x54], xmm12
vmovss dword [rsp + 0x50], xmm12
mov rax, qword [rcx]
xor r8d, r8d
lea rdx, [rsp + 0x50]
call qword [rax + 0x198]
vmovss xmm2, dword [rsp + 0x50]
vmovss xmm0, dword [rsp + 0x54]
vmovss xmm3, dword [rsp + 0x58]
vmovss dword [rbp + 0x58], xmm3
vmovss dword [rbp + 0x54], xmm0
vmovss dword [rbp + 0x50], xmm2
vmulss xmm1, xmm0, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm2, xmm1, xmm0
vmulss xmm1, xmm3, xmm3
vaddss xmm4, xmm2, xmm1
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm4
ja 0x1800d6c9a
vsqrtss xmm6, xmm4, xmm4
jmp 0x1800d6ca7
vmovaps xmm0, xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vmovaps xmm6, xmm0
vmovss dword [rbp - 0x3c], xmm6
vmovss dword [rsp + 0x58], xmm12
vmovss dword [rsp + 0x54], xmm12
vmovss dword [rsp + 0x50], xmm12
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x50]
call fcn.1800d1e90
vmovss xmm1, dword [rsp + 0x50]
vmovss dword [rbp - 0x2c], xmm1
mov rcx, r14
call fcn.1800bdce0
mov rbx, rax
mov rcx, r14
call fcn.1800be0e0
vmovss xmm0, dword [rbx + 8]
vaddss xmm2, xmm0, dword [rax + 8]
vmovss xmm1, dword [rbx + 4]
vaddss xmm3, xmm1, dword [rax + 4]
vmovss xmm0, dword [rbx]
vaddss xmm4, xmm0, dword [rax]
vmovss xmm1, dword [rbp + 0xec]
vsubss xmm5, xmm1, xmm2
vmovss xmm0, dword [rbp + 0xe8]
vsubss xmm2, xmm0, xmm3
vmovss xmm1, dword [rbp + 0xe4]
vsubss xmm3, xmm1, xmm4
vmovss dword [rbp - 0x48], xmm3
vmovss dword [rbp - 0x40], xmm5
vmulss xmm0, xmm2, xmm7
vmovss dword [rbp - 0x44], xmm0
vmulss xmm1, xmm3, xmm3
vmulss xmm0, xmm0, xmm0
vaddss xmm2, xmm1, xmm0
vmulss xmm1, xmm5, xmm5
vaddss xmm3, xmm2, xmm1
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm3
ja 0x1800d6d61
vsqrtss xmm0, xmm3, xmm3
jmp 0x1800d6d6a
vmovaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vdivss xmm0, xmm0, xmm6
vmovss dword [rbp - 0x28], xmm0
vmovss xmm1, dword [rbp + 0x10c]
vmovss dword [rbp - 0x38], xmm1
mov rdx, r14
mov rcx, r13
call fcn.1800d36e0
vmovaps xmm7, xmm0
vmovss dword [rbp - 0x34], xmm0
vaddss xmm9, xmm8, xmm0
vaddss xmm1, xmm0, xmm8
vdivss xmm0, xmm1, xmm6
vmovss dword [rbp - 8], xmm0
vmovss dword [rbp - 0x30], xmm0
mov rax, qword [r13]
mov rdx, qword [rax + 0xbe8]
mov rcx, r13
call rdx
cmp eax, 0x18
jne 0x1800d6e57
mov ecx, dword [0x18024256c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180253900], ecx
jle 0x1800d6e1b
lea rcx, [0x180253900]
call fcn.1801905cc
cmp dword [0x180253900], 0xffffffff
jne 0x1800d6e1b
lea rdx, str.tf_grenadelauncher_livetime
call fcn.18018e090
mov qword [0x180253908], rax
lea rcx, [0x180253900]
call fcn.180190560
mov rax, qword [0x180253908]
test rax, rax
je 0x1800d6e32
mov rax, qword [rax + 0x38]
vmovss xmm0, dword [rax + 0x54]
jmp 0x1800d6e3a
vmovss xmm0, dword [0x180218a24]
mov rax, qword [0x18023c980]
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov r8, r13
lea rdx, str.sticky_arm_time
call rax
jmp 0x1800d6e5b
vxorps xmm0, xmm0, xmm0
mov rax, qword [0x180243f18]
vdivss xmm0, xmm0, dword [rax + 0x1c]
vaddss xmm1, xmm0, xmm10
vcvttss2si eax, xmm1
mov dword [rbp - 4], eax
mov dword [rbp - 0x24], eax
mov rcx, qword [0x180243ed8]
mov rax, qword [rcx]
call qword [rax + 0x240]
mov rsi, rax
test rax, rax
jne 0x1800d6e94
vxorps xmm2, xmm2, xmm2
jmp 0x1800d6ec4
mov rax, qword [rax]
mov rbx, qword [rax + 0x48]
mov edx, 1
mov rcx, rsi
call rbx
vmovaps xmm6, xmm0
lea rcx, [0x1802534f0]
call fcn.1800de420
vsubss xmm6, xmm6, xmm0
xor edx, edx
mov rcx, rsi
call rbx
vaddss xmm2, xmm0, xmm6
mov eax, dword [0x18024416c]
dec eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vaddss xmm1, xmm0, dword [0x180245c04]
mov rax, qword [0x180243f18]
vmulss xmm1, xmm1, dword [rax + 0x1c]
vaddss xmm6, xmm1, xmm2
vmovss dword [rbp], xmm6
mov ecx, dword [0x180245d04]
test ecx, ecx
je 0x1800d6f08
vucomiss xmm7, xmm12
jp 0x1800d6f04
je 0x1800d6f08
mov al, 1
jmp 0x1800d6f0a
xor al, al
xor ebx, ebx
test al, al
cmovne ebx, ecx
mov dword [rsp + 0x70], ebx
vmovss xmm7, dword [0x180218a50]
cmp ebx, 3
jne 0x1800d6f7b
xor r13d, r13d
mov qword [rbp + 0x20], r13
mov ecx, 0x20
call fcn.180190644
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x18], rax
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], 7
mov qword [rbp + 0x48], 8
vmovss dword [rbp + 0x10], xmm7
mov r8, rax
mov edx, 0x10
lea rcx, [rbp + 0x28]
call fcn.1800991c0
nop
lea rax, [rbp + 0x10]
or edi, 1
jmp 0x1800d6fa4
cmp dword [r15 + 8], 1
sete r9b
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r14
mov r8, r15
lea rdx, [rbp + 0x3a0]
call fcn.1800d3ab0
nop
or edi, 2
xor r13d, r13d
mov dword [rbp + 0x1cd0], edi
mov rdx, rax
lea rcx, [rbp + 0x170]
call fcn.1800d9680
nop
test dil, 2
je 0x1800d6fd6
and edi, 0xfffffffd
mov dword [rbp + 0x1cd0], edi
lea rcx, [rbp + 0x3a0]
call fcn.1800d3e20
nop
test dil, 1
je 0x1800d7076
and edi, 0xfffffffe
mov dword [rbp + 0x1cd0], edi
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x1800d7032
mov rax, qword [rbp + 0x38]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d702d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800d702d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18019051c
mov rsi, qword [rbp + 0x18]
mov rax, qword [rsi + 8]
mov qword [rax], r13
mov rcx, qword [rsi]
test rcx, rcx
je 0x1800d7069
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x20
call fcn.18019051c
mov rcx, rbx
test rbx, rbx
jne 0x1800d7050
mov ebx, dword [rsp + 0x70]
mov edx, 0x20
mov rcx, rsi
call fcn.18019051c
test ebx, ebx
jne 0x1800d7093
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r13
lea rax, [rbp - 0x78]
or edi, 4
mov rdx, r13
jmp 0x1800d70b1
mov r8d, dword [0x180245984]
vmovaps xmm1, xmm9
lea rcx, [rbp + 0x158]
call fcn.1800d3ed0
or edi, 8
mov rdx, qword [rax]
mov qword [rbp + 0x70], rdx
mov rcx, qword [rax + 0x10]
mov qword [rax + 0x10], r13
mov r8, qword [rax + 8]
mov qword [rbp + 0xa8], r8
mov qword [rax + 8], r13
mov qword [rax], r13
mov qword [rbp + 0x140], rdx
mov qword [rbp + 0x148], r8
mov qword [rbp + 0x150], rcx
movabs rsi, 0x2aaaaaaaaaaaaaab
test dil, 8
je 0x1800d716b
and edi, 0xfffffff7
mov r8, qword [rbp + 0x158]
test r8, r8
je 0x1800d716b
mov rcx, qword [rbp + 0x168]
sub rcx, r8
mov rax, rsi
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 2
mov rax, r8
cmp rdx, 0x1000
jb 0x1800d7150
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800d7150
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.18019051c
mov qword [rbp + 0x158], r13
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x160], xmm0
test dil, 4
je 0x1800d71cc
mov r8, qword [rbp - 0x78]
test r8, r8
je 0x1800d71cc
mov rcx, qword [rbp - 0x68]
sub rcx, r8
mov rax, rsi
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 2
mov rax, r8
cmp rdx, 0x1000
jb 0x1800d71c4
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800d71c4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.18019051c
vmovaps xmm9, xmm12
vmovss dword [rsp + 0x7c], xmm12
vmovaps xmm10, xmm12
vmovss dword [rbp - 0x80], xmm12
vmovss dword [rbp + 0xc], xmm12
vmovss dword [rbp - 0x7c], xmm12
vmovaps xmm7, xmm12
vmovss dword [rsp + 0x60], xmm7
vmovaps xmm8, xmm12
vmovss dword [rsp + 0x64], xmm12
vmovaps xmm11, xmm12
vmovss dword [rbp + 0x1cd0], xmm12
vmovaps xmm13, xmm12
vmovss dword [rsp + 0x74], xmm12
vmovaps xmm14, xmm12
vmovss dword [rsp + 0x78], xmm12
mov esi, 0x7fffffff
mov dword [rsp + 0x68], esi
vmovss xmm15, dword [0x180218d34]
mov ecx, r13d
mov dword [rbp + 4], ecx
cmp dword [rbp + 8], 0
jle 0x1800d7db9
mov r13, qword [rbp + 0x1cf0]
vmovss xmm13, dword [0x180219360]
vmovss xmm8, dword [0x180219380]
vmovss xmm14, dword [0x1802188f0]
vmovss xmm7, dword [0x180218c00]
vmovss xmm11, dword [0x180218c6c]
mov rax, qword [0x180243f18]
vdivss xmm0, xmm6, dword [rax + 0x1c]
vaddss xmm1, xmm0, dword [0x1802189f4]
vcvttss2si eax, xmm1
mov edi, ecx
sub edi, eax
mov dword [rsp + 0x6c], edi
cmp byte [rbp + 0x390], 0
jne 0x1800d72d5
lea rdx, [rbp + 0x1c0]
call fcn.1801509b0
vmovss xmm0, dword [rbp + 0x264]
vmovss dword [r12], xmm0
vmovss xmm1, dword [rbp + 0x268]
vmovss dword [r12 + 4], xmm1
vmovss xmm0, dword [rbp + 0x26c]
vmovss dword [r12 + 8], xmm0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x90], xmm0
xor esi, esi
mov qword [rbp + 0xa0], rsi
test ebx, ebx
je 0x1800d7496
vmovss dword [rbp + 0x80], xmm12
vmovss dword [rbp + 0x84], xmm12
vmovss dword [rbp + 0x88], xmm12
mov dword [rbp + 0x8c], esi
mov rcx, r14
call fcn.1800bdce0
mov rbx, rax
mov rcx, r14
call fcn.1800be0e0
vmovss xmm0, dword [rbx + 8]
vaddss xmm4, xmm0, dword [rax + 8]
vmovss xmm1, dword [rbx + 4]
vaddss xmm3, xmm1, dword [rax + 4]
vmovss xmm0, dword [rbx]
vaddss xmm2, xmm0, dword [rax]
vmovss dword [rbp + 0xc8], xmm2
vmovss dword [rbp + 0xcc], xmm3
vmovss dword [rbp + 0xd0], xmm4
mov byte [rsp + 0x40], sil
lea rax, [rbp + 0x80]
mov qword [rsp + 0x38], rax
mov rbx, qword [rbp + 0x1ce8]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], edi
lea r9, [rbp - 0x48]
mov r8, r12
lea rdx, [rbp + 0xc8]
call fcn.1800d5260
cmp dword [rbp + 0x8c], 3
je 0x1800d74a4
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edi
mov rax, qword [0x180243f18]
vmulss xmm1, xmm0, dword [rax + 0x1c]
vmovss xmm0, dword [rbp + 0x88]
vsubss xmm2, xmm0, xmm1
vmovss xmm3, dword [rbp - 8]
vxorps xmm1, xmm3, xmm8
vcomiss xmm1, xmm2
ja 0x1800d7d87
mov rax, qword [rbp + 0xa8]
cmp qword [rbp + 0x70], rax
je 0x1800d7d87
vandps xmm2, xmm2, xmm13
vcomiss xmm3, xmm2
jbe 0x1800d74a4
mov dword [rsp + 0x38], edi
lea rax, [rbp - 0x48]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x140]
mov r8, r15
lea rdx, [rbp + 0x50]
call fcn.1800d4100
lea rcx, [rbp + 0x90]
cmp rcx, rax
je 0x1800d7454
mov r14, qword [rax]
mov qword [rbp + 0x90], r14
mov r15, qword [rax + 8]
mov qword [rbp + 0x98], r15
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0xa0], rcx
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
jmp 0x1800d7462
mov r15, qword [rbp + 0x98]
mov r14, qword [rbp + 0x90]
lea rcx, [rbp + 0x50]
call fcn.1800d9600
mov eax, dword [rbp - 0x24]
mov dword [rbp - 4], eax
vmovss xmm0, dword [rbp - 0x30]
vmovss dword [rbp - 8], xmm0
mov r8, qword [rbp + 0x148]
mov qword [rbp + 0xa8], r8
mov rdx, qword [rbp + 0x140]
mov qword [rbp + 0x70], rdx
jmp 0x1800d74b2
cmp qword [rbp + 0x180], 0
je 0x1800d7d87
mov r15, qword [rbp + 0x98]
mov r14, qword [rbp + 0x90]
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp - 0x78], xmm0
xor edx, edx
mov qword [rbp + 0x78], rdx
mov qword [rbp - 0x68], rdx
mov rdi, qword [rbp + 0x178]
mov rbx, qword [rdi]
mov rsi, qword [rbp - 0x70]
cmp rbx, rdi
je 0x1800d75a7
mov r8d, dword [rsp + 0x70]
vmovss xmm0, dword [rbx + 0x1c]
vaddss xmm2, xmm0, dword [r12 + 8]
vmovss xmm1, dword [rbx + 0x18]
vaddss xmm3, xmm1, dword [r12 + 4]
vmovss xmm0, dword [r12]
vaddss xmm4, xmm0, dword [rbx + 0x14]
mov dword [rbp + 0x68], 0
mov eax, dword [rbx + 0x10]
xor ecx, ecx
cmp r8d, 2
cmove ecx, dword [0x180245e84]
add ecx, eax
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x14], ecx
vmovss dword [rbp + 0x18], xmm4
vmovss dword [rbp + 0x1c], xmm3
vmovss dword [rbp + 0x20], xmm2
vmovups xmm0, xmmword [rbp + 0x5c]
vmovss xmm0, xmm0, xmm12
vinsertps xmm0, xmm0, xmm12, 0x10
vinsertps xmm0, xmm0, xmm12, 0x20
vmovups xmmword [rbp + 0x5c], xmm0
vmovups xmmword [rbp + 0x24], xmm0
cmp rsi, rdx
je 0x1800d757a
mov dword [rsi], eax
mov dword [rsi + 4], ecx
vmovss dword [rsi + 8], xmm4
vmovss dword [rsi + 0xc], xmm3
vmovss dword [rsi + 0x10], xmm2
vmovups xmmword [rsi + 0x14], xmm0
add rsi, 0x24
mov qword [rbp - 0x70], rsi
jmp 0x1800d7597
lea r8, [rbp + 0x10]
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.1800d9dc0
mov rdx, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x70]
mov r8d, dword [rsp + 0x70]
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1800d74e1
mov qword [rbp + 0x78], rdx
cmp r14, r15
je 0x1800d765a
xor edi, edi
cmp dword [rsp + 0x70], 1
mov eax, 3
cmove edi, eax
lea rbx, [r14 + 8]
nop dword [rax]
nop word [rax + rax]
mov dword [rbp + 0x10], 0xffffffff
mov dword [rbp + 0x14], edi
vmovss xmm0, dword [rbx - 8]
vmovss dword [rbp + 0x18], xmm0
vmovss xmm1, dword [rbx - 4]
vmovss dword [rbp + 0x1c], xmm1
vmovss xmm2, dword [rbx]
vmovss dword [rbp + 0x20], xmm2
vmovups xmm3, xmmword [rbx + 4]
vmovups xmmword [rbp + 0x24], xmm3
cmp rsi, rdx
je 0x1800d762d
mov dword [rsi], 0xffffffff
mov dword [rsi + 4], edi
vmovss dword [rsi + 8], xmm0
vmovss dword [rsi + 0xc], xmm1
vmovss dword [rsi + 0x10], xmm2
vmovups xmmword [rsi + 0x14], xmm3
add rsi, 0x24
mov qword [rbp - 0x70], rsi
jmp 0x1800d7645
lea r8, [rbp + 0x10]
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.1800d9dc0
mov rdx, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x70]
add rbx, 0x1c
lea rax, [rbx - 8]
cmp rax, r15
jne 0x1800d75d0
mov qword [rbp + 0x78], rdx
mov r8, qword [rbp - 0x78]
mov qword [rbp + 0x50], r8
cmp r8, rsi
je 0x1800d7cf0
lea rdi, [r8 + 8]
mov ebx, dword [rsp + 0x6c]
jmp 0x1800d7688
vmovss xmm11, dword [0x180218c6c]
mov r14d, dword [rdi - 8]
cmp r14d, 0xffffffff
sete r15b
jne 0x1800d7702
vmovss xmm0, dword [r12 + 8]
vsubss xmm5, xmm0, dword [rdi + 8]
vmovss xmm1, dword [r12 + 4]
vsubss xmm4, xmm1, dword [rdi + 4]
vmovss xmm0, dword [r12]
vsubss xmm2, xmm0, dword [rdi]
vmulss xmm3, xmm2, xmm2
vmulss xmm1, xmm4, xmm4
vaddss xmm4, xmm3, xmm1
vmulss xmm0, xmm5, xmm5
vaddss xmm0, xmm4, xmm0
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
ja 0x1800d76dc
vsqrtss xmm10, xmm0, xmm0
jmp 0x1800d76e5
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vmovaps xmm10, xmm0
mov eax, dword [rsp + 0x68]
cmp dword [rdi - 4], eax
jg 0x1800d76f5
vcomiss xmm10, xmm15
jbe 0x1800d775f
vmovss xmm11, dword [rbp + 0x1cd0]
jmp 0x1800d7cd1
vmovaps xmm10, xmm15
mov eax, dword [rsp + 0x68]
cmp dword [rdi - 4], eax
jge 0x1800d7756
test eax, eax
je 0x1800d7756
cmp dword [rbp - 4], ebx
jle 0x1800d7752
vmovss xmm0, dword [rbp + 0x20c]
vandps xmm0, xmm0, xmm13
vcomiss xmm14, xmm0
jbe 0x1800d7756
vmovss xmm0, dword [rbp + 0x210]
vandps xmm0, xmm0, xmm13
vcomiss xmm14, xmm0
jbe 0x1800d7756
vmovss xmm0, dword [rbp + 0x214]
vandps xmm0, xmm0, xmm13
vcomiss xmm14, xmm0
jbe 0x1800d7756
xor eax, eax
jmp 0x1800d775b
mov eax, 1
test eax, eax
jne 0x1800d76f5
mov rcx, qword [rbp + 0x1ce0]
call fcn.1800bdce0
mov rbx, rax
mov rcx, qword [rbp + 0x1ce0]
call fcn.1800be0e0
vmovss xmm0, dword [rbx + 8]
vaddss xmm4, xmm0, dword [rax + 8]
vmovss xmm1, dword [rbx + 4]
vaddss xmm3, xmm1, dword [rax + 4]
vmovss xmm0, dword [rbx]
vaddss xmm2, xmm0, dword [rax]
vmovss dword [rbp + 0xb0], xmm2
vmovss dword [rbp + 0xb4], xmm3
vmovss dword [rbp + 0xb8], xmm4
lea rax, [rdi + 0xc]
mov byte [rsp + 0x40], 1
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x1ce8]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x1ce0]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x48]
mov r8, rdi
lea rdx, [rbp + 0xb0]
call fcn.1800d5260
cmp r14d, 0xffffffff
je 0x1800d78f2
mov eax, dword [rdi + 0x18]
dec eax
test eax, 0xfffffffd
jne 0x1800d78f2
movzx edx, byte [rdi - 8]
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rdi - 7]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rdi - 6]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rdi - 5]
xor rdx, rax
imul rdx, rcx
mov r8, rdx
mov r11, qword [rbp + 0x1a0]
and r8, r11
add r8, r8
mov r9, qword [rbp + 0x188]
mov rcx, qword [r9 + r8*8 + 8]
mov r10, qword [rbp + 0x178]
cmp rcx, r10
je 0x1800d7890
mov r8, qword [r9 + r8*8]
mov eax, dword [rdi - 8]
cmp eax, dword [rcx + 0x10]
je 0x1800d7892
nop dword [rax]
cmp rcx, r8
je 0x1800d7890
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x1800d7880
jmp 0x1800d7892
xor ecx, ecx
test rcx, rcx
je 0x1800d78f2
and rdx, r11
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp qword [r9 + rdx*8 + 8], rcx
jne 0x1800d78c3
cmp rax, rcx
jne 0x1800d78b8
mov qword [r9 + rdx*8], r10
mov qword [r9 + rdx*8 + 8], r10
jmp 0x1800d78cf
mov r10, qword [rcx + 8]
mov qword [r9 + rdx*8 + 8], r10
jmp 0x1800d78cf
cmp rax, rcx
jne 0x1800d78cf
mov rax, qword [rcx]
mov qword [r9 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [rbp + 0x180]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x20
call fcn.18019051c
cmp dword [rdi + 0x18], 1
jne 0x1800d7cc5
mov ebx, dword [0x180246984]
vmovss xmm1, dword [rdi + 0x10]
vmovss xmm0, dword [rdi + 0xc]
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm1
vmovss dword [rsp + 0x58], xmm12
mov rax, qword [0x1802440e0]
vmovss xmm8, dword [rax + 0x10]
vmovss xmm9, dword [rax + 0x14]
vmovss dword [rbp - 0x50], xmm12
vmovss dword [rbp - 0x54], xmm12
vmovss dword [rbp - 0x58], xmm12
lea rcx, [rsp + 0x50]
call fcn.1800c1fb0
sub ebx, 1
je 0x1800d795b
sub ebx, 1
je 0x1800d7b14
cmp ebx, 1
jne 0x1800d797c
vmovss xmm0, dword [rsp + 0x50]
vmovss dword [rbp - 0x58], xmm0
vmovss xmm1, dword [rsp + 0x54]
vmovss dword [rbp - 0x54], xmm1
vmovss xmm0, dword [rsp + 0x58]
vmovss dword [rbp - 0x50], xmm0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x10], xmm0
xor r14d, r14d
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], r14
mov ecx, 0x10
call fcn.180190644
mov qword [rax + 8], r14
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
mov qword [rax], rcx
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x38], r15b
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9, qword [rbp + 0x1cd8]
mov r8, qword [rbp + 0x1ce8]
mov rdx, qword [rbp + 0x1ce0]
lea rcx, [0x180243f90]
call fcn.1800d5950
test al, al
je 0x1800d7c98
mov eax, dword [rdi - 4]
mov dword [rsp + 0x68], eax
vmovaps xmm15, xmm10
vmovss xmm0, dword [rbp - 0x58]
vmovss dword [rbp + 0xc], xmm0
vmovss xmm0, dword [rbp - 0x54]
vmovss dword [rbp - 0x80], xmm0
vmovss xmm0, dword [rbp - 0x50]
vmovss dword [rsp + 0x7c], xmm0
vmovss xmm0, dword [r12]
vmovss dword [rsp + 0x64], xmm0
vmovss xmm0, dword [r12 + 4]
vmovss dword [rsp + 0x60], xmm0
vmovss xmm0, dword [r12 + 8]
vmovss dword [rbp - 0x7c], xmm0
vmovss xmm0, dword [rdi]
vmovss dword [rsp + 0x78], xmm0
vmovss xmm0, dword [rdi + 4]
vmovss dword [rsp + 0x74], xmm0
vmovss xmm11, dword [rdi + 8]
vmovss dword [rbp + 0x1cd0], xmm11
vaddss xmm0, xmm6, dword [rdi + 0x14]
mov rax, qword [rbp + 0x1d08]
vmovss dword [rax], xmm0
lea rdx, [rbp + 0x368]
mov rcx, r13
call fcn.1800cfd50
mov rbx, qword [r13 + 0x20]
test rbx, rbx
je 0x1800d7c86
vxorps xmm8, xmm8, xmm8
vcvtsi2ss xmm8, xmm8, dword [0x18024a934]
vmulss xmm3, xmm12, dword [rbp + 0x214]
vmovss xmm2, dword [rbp + 0x210]
vmovss xmm1, dword [rbp + 0x20c]
vmovss dword [rbp + 0xbc], xmm1
vmovss dword [rbp + 0xc0], xmm2
vmovss dword [rbp + 0xc4], xmm3
lea rdx, [rbp + 0xbc]
lea rcx, [rbp + 0x1b0]
call fcn.1800d1fc0
vmovss xmm1, dword [rax + 4]
vmovss xmm0, dword [rax]
vmulss xmm2, xmm0, xmm0
vmulss xmm1, xmm1, xmm1
vaddss xmm3, xmm2, xmm1
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm3
ja 0x1800d7ba5
vsqrtss xmm0, xmm3, xmm3
jmp 0x1800d7bae
vmovss xmm0, dword [0x180246484]
vdivss xmm1, xmm0, dword [rbp - 0x60]
vmovss xmm0, dword [0x180218a50]
vsubss xmm7, xmm0, xmm1
vsubss xmm0, xmm8, dword [rsp + 0x50]
vmovaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
vmovaps xmm6, xmm0
vaddss xmm0, xmm0, xmm0
vmovaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
vsubss xmm1, xmm0, xmm6
vmulss xmm2, xmm1, xmm7
vsubss xmm3, xmm8, xmm2
vmovss dword [rbp - 0x58], xmm3
vsubss xmm0, xmm9, dword [rsp + 0x54]
vmovaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
vmovaps xmm6, xmm0
vaddss xmm0, xmm0, xmm0
vmovaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
vsubss xmm1, xmm0, xmm6
vmulss xmm2, xmm1, xmm7
vsubss xmm3, xmm9, xmm2
vmovss dword [rbp - 0x54], xmm3
vmovss xmm6, dword [rbp]
vmovss xmm7, dword [0x180218c00]
jmp 0x1800d797c
vmovaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
vaddss xmm0, xmm0, xmm7
vmulss xmm6, xmm0, dword [0x18021894c]
vmovss xmm9, dword [rbp + 0x264]
vmovss xmm10, dword [rbp + 0x268]
vmovss xmm7, dword [rbp + 0x26c]
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmulss xmm1, xmm0, xmm8
vaddss xmm11, xmm1, xmm9
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmulss xmm1, xmm0, xmm8
vaddss xmm6, xmm1, xmm10
lea rax, [rbx + 1]
cmp qword [r13 + 0x10], rax
ja 0x1800d7c0a
mov rcx, r13
call fcn.1800d1a30
mov rbx, qword [r13 + 0x10]
dec rbx
mov rcx, qword [r13 + 0x18]
and rcx, rbx
mov qword [r13 + 0x18], rcx
mov r14, qword [r13 + 0x20]
add r14, rcx
and rbx, r14
mov rax, qword [r13 + 8]
cmp qword [rax + rbx*8], 0
jne 0x1800d7c43
mov ecx, 0x18
call fcn.180190644
mov rcx, qword [r13 + 8]
mov qword [rcx + rbx*8], rax
mov rcx, qword [r13 + 0x10]
dec rcx
and rcx, r14
mov rax, qword [r13 + 8]
mov rdx, qword [rax + rcx*8]
vmovss dword [rdx], xmm9
vmovss dword [rdx + 4], xmm10
vmovss dword [rdx + 8], xmm7
vmovss dword [rdx + 0xc], xmm11
vmovss dword [rdx + 0x10], xmm6
vmovss dword [rdx + 0x14], xmm7
inc qword [r13 + 0x20]
vmovss xmm11, dword [rbp + 0x1cd0]
vmovss xmm6, dword [rbp]
xor r14d, r14d
lea rdx, [rbp + 0x10]
mov rcx, qword [rbp + 0x1cf8]
call fcn.1800cfd50
jmp 0x1800d7ca0
vmovss xmm11, dword [rbp + 0x1cd0]
lea rcx, [rbp + 0x10]
call fcn.1800b4f30
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x10], r14
mov edx, 0x10
call fcn.18019051c
vmovss xmm7, dword [0x180218c00]
jmp 0x1800d7ccd
vmovss xmm11, dword [rbp + 0x1cd0]
mov ebx, dword [rsp + 0x6c]
add rdi, 0x24
lea rax, [rdi - 8]
cmp rax, rsi
jne 0x1800d7680
vmovss xmm8, dword [0x180219380]
mov r8, qword [rbp + 0x50]
jmp 0x1800d7cf8
vmovss xmm11, dword [rbp + 0x1cd0]
test r8, r8
je 0x1800d7d50
mov rcx, qword [rbp + 0x78]
sub rcx, r8
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*8]
shl rdx, 2
mov rax, r8
cmp rdx, 0x1000
jb 0x1800d7d47
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d7d80
mov rcx, r8
call fcn.18019051c
nop
lea rcx, [rbp + 0x90]
call fcn.1800d9600
mov ecx, dword [rbp + 4]
inc ecx
mov dword [rbp + 4], ecx
mov r15, qword [rbp + 0x1cd8]
cmp ecx, dword [rbp + 8]
jge 0x1800d7d8f
mov r14, qword [rbp + 0x1ce0]
mov ebx, dword [rsp + 0x70]
jmp 0x1800d726c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
vmovss xmm11, dword [rbp + 0x1cd0]
vmovss xmm13, dword [rsp + 0x74]
vmovss xmm14, dword [rsp + 0x78]
vmovss xmm7, dword [rsp + 0x60]
vmovss xmm8, dword [rsp + 0x64]
vmovss xmm9, dword [rsp + 0x7c]
vmovss xmm10, dword [rbp - 0x80]
mov esi, dword [rsp + 0x68]
xor r13d, r13d
cmp byte [rbp + 0x391], 0
jne 0x1800d7e4a
mov rcx, qword [rbp + 0x1c0]
test rcx, rcx
je 0x1800d7e4a
xor edx, edx
call fcn.18010be80
lea rdx, [rbp + 0x1c0]
call fcn.18014f140
mov rcx, qword [0x180243f38]
movzx eax, byte [0x18023f510]
mov byte [rcx + 0xc], al
mov rcx, qword [0x180243f38]
movzx eax, byte [0x18023f511]
mov byte [rcx + 0xd], al
mov rax, qword [0x180243f18]
vmovss xmm0, dword [0x18023f514]
vmovss dword [rax + 0x10], xmm0
movzx ebx, byte [rbp + 0x391]
movzx edi, byte [rbp + 0x390]
xor edx, edx
mov r8d, 0x1d8
lea rcx, [rbp + 0x1c0]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + 0x391], bl
mov byte [rbp + 0x390], dil
mov rax, qword [rbp + 0x1cf8]
mov rcx, qword [rax + 0x20]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x1800d7e65
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x1800d7e7a
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
mov rax, qword [0x180243f18]
vmulss xmm6, xmm0, dword [rax + 0x1c]
vmovss dword [r15 + 0xc], xmm14
vmovss dword [r15 + 0x10], xmm13
vmovss dword [r15 + 0x14], xmm11
cmp esi, 0x7fffffff
je 0x1800d858c
cmp dword [r15 + 8], 1
jne 0x1800d7eb8
cmp byte [rbp + 0x390], 0
jne 0x1800d858c
vmovss xmm0, dword [rbp + 0xc]
vmovss dword [r15 + 0x18], xmm0
vmovss dword [r15 + 0x1c], xmm10
vmovss dword [r15 + 0x20], xmm9
cmp byte [0x18024dfb1], 0
je 0x1800d8585
vmovss dword [rbp - 0x48], xmm8
vmovss dword [rbp - 0x44], xmm7
vmovss xmm15, dword [rbp - 0x7c]
vmovss dword [rbp - 0x40], xmm15
mov rcx, qword [r15]
call fcn.1800bdee0
vmovss xmm8, dword [rax]
vmovss dword [rbp - 0x3c], xmm8
vmovss xmm9, dword [rax + 4]
vmovss dword [rbp - 0x38], xmm9
vmovss xmm10, dword [rax + 8]
vmovss dword [rbp - 0x34], xmm10
mov rcx, qword [r15]
call fcn.1800bdfe0
vmovss xmm3, dword [rax]
vmovss dword [rbp - 0x30], xmm3
vmovss xmm4, dword [rax + 4]
vmovss dword [rbp - 0x2c], xmm4
vmovss xmm5, dword [rax + 8]
vmovss dword [rbp - 0x28], xmm5
vmovss dword [rbp - 0x1c], xmm12
vmovss dword [rbp - 0x20], xmm12
vmovss dword [rbp - 0x24], xmm12
vmovd xmm1, r13d
movzx eax, byte [0x18024ac31]
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vmovss xmm7, dword [0x180218b0c]
vblendvps xmm0, xmm6, xmm7, xmm2
mov rax, qword [0x180243f18]
vaddss xmm1, xmm0, dword [rax + 0xc]
vmovss dword [rbp - 0x18], xmm1
mov eax, dword [0x1802520a4]
mov dword [rbp - 0x14], eax
mov ecx, dword [0x1802529a4]
mov dword [rbp - 0x10], ecx
mov byte [rbp - 0xc], 1
mov rsi, qword [rbp + 0x1d00]
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1800d7ffd
vmovss xmm0, dword [rsp + 0x64]
vmovss dword [rdx], xmm0
vmovss xmm0, dword [rsp + 0x60]
vmovss dword [rdx + 4], xmm0
vmovss dword [rdx + 8], xmm15
vmovss dword [rdx + 0xc], xmm8
vmovss dword [rdx + 0x10], xmm9
vmovss dword [rdx + 0x14], xmm10
vmovss dword [rdx + 0x18], xmm3
vmovss dword [rdx + 0x1c], xmm4
vmovss dword [rdx + 0x20], xmm5
mov qword [rdx + 0x24], 0
mov dword [rdx + 0x2c], r13d
vmovss dword [rdx + 0x30], xmm1
mov dword [rdx + 0x34], eax
mov dword [rdx + 0x38], ecx
mov byte [rdx + 0x3c], 1
add qword [rsi + 8], 0x40
jmp 0x1800d8009
lea r8, [rbp - 0x48]
mov rcx, rsi
call fcn.1800da720
vmovss xmm1, dword [0x180218ad8]
vmovss dword [rbp - 0x60], xmm1
vmovss xmm2, dword [0x180218a50]
vmovss dword [rbp + 0x1cd0], xmm2
lea rcx, [rbp + 0x1cd0]
lea rax, [rbp + 0xfc]
vmovss xmm0, dword [rbp + 0xfc]
vcomiss xmm2, xmm0
cmovbe rcx, rax
lea rax, [rbp - 0x60]
vcomiss xmm0, xmm1
cmovbe rax, rcx
vmovss xmm3, dword [rax]
vmovss dword [rbp - 0x48], xmm14
vmovss dword [rbp - 0x44], xmm13
vmovss dword [rbp - 0x40], xmm11
vmulss xmm4, xmm3, dword [0x180218d6c]
vmovss dword [rbp - 0x3c], xmm4
vmovss dword [rbp - 0x38], xmm4
vmovss dword [rbp - 0x34], xmm4
vmovss dword [rbp - 0x30], xmm3
vmovss dword [rbp - 0x2c], xmm3
vmovss dword [rbp - 0x28], xmm3
vmovss dword [rbp - 0x1c], xmm12
vmovss dword [rbp - 0x20], xmm12
vmovss dword [rbp - 0x24], xmm12
vmovd xmm1, r13d
movzx eax, byte [0x18024ac31]
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm6, xmm7, xmm2
mov rax, qword [0x180243f18]
vaddss xmm1, xmm0, dword [rax + 0xc]
vmovss dword [rbp - 0x18], xmm1
mov eax, dword [0x1802520a4]
mov dword [rbp - 0x14], eax
mov ecx, dword [0x1802529a4]
mov dword [rbp - 0x10], ecx
mov byte [rbp - 0xc], 1
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1800d8131
vmovss dword [rdx], xmm14
vmovss dword [rdx + 4], xmm13
vmovss dword [rdx + 8], xmm11
vmovss dword [rdx + 0xc], xmm4
vmovss dword [rdx + 0x10], xmm4
vmovss dword [rdx + 0x14], xmm4
vmovss dword [rdx + 0x18], xmm3
vmovss dword [rdx + 0x1c], xmm3
vmovss dword [rdx + 0x20], xmm3
mov qword [rdx + 0x24], 0
mov dword [rdx + 0x2c], r13d
vmovss dword [rdx + 0x30], xmm1
mov dword [rdx + 0x34], eax
mov dword [rdx + 0x38], ecx
mov byte [rdx + 0x3c], 1
add qword [rsi + 8], 0x40
jmp 0x1800d813d
lea r8, [rbp - 0x48]
mov rcx, rsi
call fcn.1800da720
cmp byte [0x18024e9b1], 0
je 0x1800d8585
lea r14, [r15 + 0x30]
cmp dword [r14], 0
jne 0x1800d835f
mov rcx, qword [r15]
mov rax, qword [rcx]
call qword [rax + 0x48]
vmovss xmm0, dword [rax + 8]
vsubss xmm8, xmm0, xmm15
vmovss xmm1, dword [rax + 4]
vmovss xmm11, dword [rsp + 0x60]
vsubss xmm9, xmm1, xmm11
vmovss xmm0, dword [rax]
vmovss xmm12, dword [rsp + 0x64]
vsubss xmm10, xmm0, xmm12
mov rcx, qword [r15]
lea rdi, [rcx + 8]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x80]
call fcn.1800c1eb0
vmovss xmm0, dword [rax]
vmovss dword [rsp + 0x20], xmm0
mov r9d, 0x7ff00
mov r8d, 0x80
lea rdx, [rbp + 0x3e0]
mov rcx, rdi
call rbx
test al, al
je 0x1800d8585
mov dword [rsp + 0x20], r13d
mov r9, qword [r15]
lea r8, [rbp + 0x3e0]
lea rdx, [rbp - 0x78]
call fcn.18016ef70
nop
mov rdi, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x78]
cmp rcx, rdi
je 0x1800d8320
lea rbx, [rcx + 0x14]
nop dword [rax + rax]
lea r8, [rbx - 0x14]
vmovss xmm0, dword [r8]
vsubss xmm1, xmm0, xmm10
vmovss dword [r8], xmm1
vmovss xmm0, dword [rbx - 0x10]
vsubss xmm1, xmm0, xmm9
vmovss dword [rbx - 0x10], xmm1
vmovss xmm0, dword [rbx - 0xc]
vsubss xmm1, xmm0, xmm8
vmovss dword [rbx - 0xc], xmm1
vmovd xmm1, r13d
movzx eax, byte [0x18024ac31]
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm6, xmm7, xmm2
mov rax, qword [0x180243f18]
vaddss xmm0, xmm0, dword [rax + 0xc]
vmovss dword [rbx + 0x1c], xmm0
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1800d82ff
mov qword [rdx], 0
mov dword [rdx + 8], r13d
mov eax, dword [r8]
mov dword [rdx], eax
mov eax, dword [rbx - 0x10]
mov dword [rdx + 4], eax
mov eax, dword [rbx - 0xc]
mov dword [rdx + 8], eax
mov qword [rdx + 0xc], 0
mov dword [rdx + 0x14], r13d
mov eax, dword [rbx - 8]
mov dword [rdx + 0xc], eax
mov eax, dword [rbx - 4]
mov dword [rdx + 0x10], eax
mov eax, dword [rbx]
mov dword [rdx + 0x14], eax
mov qword [rdx + 0x18], 0
mov dword [rdx + 0x20], r13d
mov eax, dword [rbx + 4]
mov dword [rdx + 0x18], eax
mov eax, dword [rbx + 8]
mov dword [rdx + 0x1c], eax
mov eax, dword [rbx + 0xc]
mov dword [rdx + 0x20], eax
mov qword [rdx + 0x24], 0
mov dword [rdx + 0x2c], r13d
mov eax, dword [rbx + 0x10]
mov dword [rdx + 0x24], eax
mov eax, dword [rbx + 0x14]
mov dword [rdx + 0x28], eax
mov eax, dword [rbx + 0x18]
mov dword [rdx + 0x2c], eax
mov eax, dword [rbx + 0x1c]
mov dword [rdx + 0x30], eax
mov eax, dword [rbx + 0x20]
mov dword [rdx + 0x34], eax
mov eax, dword [rbx + 0x24]
mov dword [rdx + 0x38], eax
movzx eax, byte [rbx + 0x28]
mov byte [rdx + 0x3c], al
add qword [rsi + 8], 0x40
jmp 0x1800d8307
mov rcx, rsi
call fcn.1800da720
add rbx, 0x40
lea rax, [rbx - 0x14]
cmp rax, rdi
jne 0x1800d8200
lea r14, [r15 + 0x30]
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x1800d836b
mov rdx, qword [rbp - 0x68]
sub rdx, rcx
and rdx, 0xffffffffffffffc0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d8358
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800d8358
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18019051c
jmp 0x1800d836b
vmovss xmm11, dword [rsp + 0x60]
vmovss xmm12, dword [rsp + 0x64]
cmp byte [0x18024e9b1], 0
je 0x1800d8585
cmp dword [r14], 0
jne 0x1800d8585
mov rcx, qword [r15]
mov rax, qword [rcx]
call qword [rax + 0x48]
vmovss xmm0, dword [rax + 8]
vsubss xmm8, xmm0, xmm15
vmovss xmm1, dword [rax + 4]
vsubss xmm9, xmm1, xmm11
vmovss xmm0, dword [rax]
vsubss xmm10, xmm0, xmm12
mov rcx, qword [r15]
lea rdi, [rcx + 8]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x80]
call fcn.1800c1eb0
vmovss xmm0, dword [rax]
vmovss dword [rsp + 0x20], xmm0
mov r9d, 0x7ff00
mov r8d, 0x80
lea rdx, [rbp + 0x3e0]
mov rcx, rdi
call rbx
test al, al
je 0x1800d8585
mov dword [rsp + 0x20], r13d
mov r9, qword [r15]
lea r8, [rbp + 0x3e0]
lea rdx, [rbp - 0x78]
call fcn.18016ef70
nop
mov rdi, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x78]
cmp rcx, rdi
je 0x1800d8548
lea rbx, [rcx + 0x14]
nop word [rax + rax]
lea r8, [rbx - 0x14]
vmovss xmm0, dword [r8]
vsubss xmm1, xmm0, xmm10
vmovss dword [r8], xmm1
vmovss xmm0, dword [rbx - 0x10]
vsubss xmm1, xmm0, xmm9
vmovss dword [rbx - 0x10], xmm1
vmovss xmm0, dword [rbx - 0xc]
vsubss xmm1, xmm0, xmm8
vmovss dword [rbx - 0xc], xmm1
vmovd xmm1, r13d
movzx eax, byte [0x18024ac31]
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm6, xmm7, xmm2
mov rax, qword [0x180243f18]
vaddss xmm0, xmm0, dword [rax + 0xc]
vmovss dword [rbx + 0x1c], xmm0
mov qword [rbx + 0x10], 0
mov dword [rbx + 0x18], r13d
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1800d852b
mov qword [rdx], 0
mov dword [rdx + 8], r13d
mov eax, dword [r8]
mov dword [rdx], eax
mov eax, dword [rbx - 0x10]
mov dword [rdx + 4], eax
mov eax, dword [rbx - 0xc]
mov dword [rdx + 8], eax
mov qword [rdx + 0xc], 0
mov dword [rdx + 0x14], r13d
mov eax, dword [rbx - 8]
mov dword [rdx + 0xc], eax
mov eax, dword [rbx - 4]
mov dword [rdx + 0x10], eax
mov eax, dword [rbx]
mov dword [rdx + 0x14], eax
mov qword [rdx + 0x18], 0
mov dword [rdx + 0x20], r13d
mov eax, dword [rbx + 4]
mov dword [rdx + 0x18], eax
mov eax, dword [rbx + 8]
mov dword [rdx + 0x1c], eax
mov eax, dword [rbx + 0xc]
mov dword [rdx + 0x20], eax
mov qword [rdx + 0x24], 0
mov dword [rdx + 0x2c], r13d
mov eax, dword [rbx + 0x10]
mov dword [rdx + 0x24], eax
mov eax, dword [rbx + 0x14]
mov dword [rdx + 0x28], eax
mov eax, dword [rbx + 0x18]
mov dword [rdx + 0x2c], eax
mov eax, dword [rbx + 0x1c]
mov dword [rdx + 0x30], eax
mov eax, dword [rbx + 0x20]
mov dword [rdx + 0x34], eax
mov eax, dword [rbx + 0x24]
mov dword [rdx + 0x38], eax
movzx eax, byte [rbx + 0x28]
mov byte [rdx + 0x3c], al
add qword [rsi + 8], 0x40
jmp 0x1800d8533
mov rcx, rsi
call fcn.1800da720
add rbx, 0x40
lea rax, [rbx - 0x14]
cmp rax, rdi
jne 0x1800d8420
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x1800d8585
mov rdx, qword [rbp - 0x68]
sub rdx, rcx
and rdx, 0xffffffffffffffc0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d8580
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800d8580
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18019051c
mov ebx, 1
jmp 0x1800d858f
mov ebx, r13d
lea rcx, [rbp + 0x140]
call fcn.180098d90
nop
lea rcx, [rbp + 0x170]
call fcn.1800d3e20
jmp 0x1800d8644
cmp byte [rbp + 0x391], 0
jne 0x1800d863e
mov rcx, qword [rbp + 0x1c0]
test rcx, rcx
je 0x1800d863e
xor edx, edx
call fcn.18010be80
lea rdx, [rbp + 0x1c0]
call fcn.18014f140
mov rcx, qword [0x180243f38]
movzx eax, byte [0x18023f510]
mov byte [rcx + 0xc], al
mov rcx, qword [0x180243f38]
movzx eax, byte [0x18023f511]
mov byte [rcx + 0xd], al
mov rax, qword [0x180243f18]
vmovss xmm0, dword [0x18023f514]
vmovss dword [rax + 0x10], xmm0
movzx ebx, byte [rbp + 0x391]
movzx edi, byte [rbp + 0x390]
xor edx, edx
mov r8d, 0x1d8
lea rcx, [rbp + 0x1c0]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + 0x391], bl
mov byte [rbp + 0x390], dil
xor r13d, r13d
mov ebx, r13d
lea rcx, [rbp + 0x118]
call fcn.1800b4f30
mov rcx, qword [rbp + 0x118]
mov qword [rbp + 0x118], r13
mov edx, 0x10
call fcn.18019051c
nop
lea rcx, [rbp + 0x368]
call fcn.1800b4f30
mov rcx, qword [rbp + 0x368]
mov qword [rbp + 0x368], r13
mov edx, 0x10
call fcn.18019051c
mov eax, ebx
lea r11, [rsp + 0x1d88]
vmovaps xmm6, xmmword [r11 - 0x18]
vmovaps xmm7, xmmword [r11 - 0x28]
vmovaps xmm8, xmmword [r11 - 0x38]
vmovaps xmm9, xmmword [r11 - 0x48]
vmovaps xmm10, xmmword [r11 - 0x58]
vmovaps xmm11, xmmword [r11 - 0x68]
vmovaps xmm12, xmmword [r11 - 0x78]
vmovaps xmm13, xmmword [r11 - 0x88]
vmovaps xmm14, xmmword [r11 - 0x98]
vmovaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret