Function at 0x180036aa0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x208]
sub rsp, 0x2d0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x18011c028]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov rsi, rdx
mov r13, rcx
movzx eax, byte [0x18011f0a3]
mov byte [rcx + 0x31], al
test al, al
je 0x180038a12
movzx eax, byte [0x18011f0b8]
test al, al
jne 0x180038a12
cmp byte [0x18011f0a0], al
jne 0x180036b60
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180036b60
mov qword [rsp + 0x20], 0x64
jmp 0x180038a1b
cmp byte [0x18011f09f], 0
je 0x180036bcd
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180036bcd
lea rdx, [rbp + 0x28]
mov rcx, qword [r13 + 0x40]
call fcn.1800875c0
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x180036b94
mov rax, qword [rax]
cmp r8, 5
jne 0x180036bc4
lea rdx, str.BLOCK
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180036bc4
lea rcx, [rbp + 0x28]
call fcn.180005e50
mov qword [rsp + 0x20], 0x32
jmp 0x180038a1b
lea rcx, [rbp + 0x28]
call fcn.180005e50
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x90], rax
mov ecx, dword [0x18011eec8]
mov rax, qword gs:[0x58]
mov r12d, 4
mov r15, qword [rax + rcx*8]
mov eax, dword [r15 + r12]
cmp dword [0x180120c28], eax
jle 0x180036c33
lea rcx, [0x180120c28]
call fcn.1800a7210
cmp dword [0x180120c28], 0xffffffff
jne 0x180036c33
lea rcx, [0x1800ae750]
call fcn.1800a6ff8
lea rcx, [0x180120c28]
call fcn.1800a71b0
xorps xmm8, xmm8
mov eax, dword [r15 + r12]
cmp dword [0x180120c2c], eax
jle 0x180036c79
lea rcx, [0x180120c2c]
call fcn.1800a7210
cmp dword [0x180120c2c], 0xffffffff
jne 0x180036c79
mov qword [0x180120c30], 0
mov dword [0x180120c38], 0
lea rcx, [0x180120c2c]
call fcn.1800a71b0
movss xmm0, dword [0x18011c330]
mulss xmm0, dword [0x1801061ac]
movss dword [rsp + 0x3c], xmm0
movd xmm12, dword [0x18011c338]
cvtdq2ps xmm12, xmm12
mulss xmm12, dword [0x180106104]
mov r14d, 0xffffffff
movss xmm11, dword [0x180106760]
movss xmm15, dword [0x180106730]
movss xmm7, dword [0x180106280]
movsd xmm13, qword [0x1801061c8]
movss xmm14, dword [0x180106298]
cmp byte [0x18011f09d], 0
je 0x180036e1a
mov rcx, qword [0x18011f158]
test rcx, rcx
je 0x180036e1a
lea rdx, [rbp + 0x48]
call fcn.180083310
movsd xmm0, qword [rax]
movsd qword [0x180120c30], xmm0
mov ecx, dword [rax + 8]
mov dword [0x180120c38], ecx
mov rbx, qword [rsi]
movss xmm10, dword [0x180120c30]
movaps xmm11, xmm10
subss xmm11, dword [rbx + 0x24]
movd xmm9, ecx
movss dword [0x180120c38], xmm9
movaps xmm13, xmm9
subss xmm13, dword [rbx + 0x2c]
movaps xmm1, xmm11
movaps xmm0, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm7
divss xmm0, dword [0x1801061b0]
subss xmm0, dword [0x18010624c]
movss xmm1, dword [rbx + 0x48]
subss xmm1, xmm0
xorps xmm1, xmmword [0x180106760]
addss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd xmm1, qword [0x1801061c8]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm8, xmm1
jbe 0x180036d9b
addss xmm1, xmm14
subss xmm1, xmm7
andps xmm1, xmm15
movd xmm0, dword [0x18011c338]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x180036e08
movss xmm6, dword [0x180120c34]
movaps xmm0, xmm6
subss xmm0, dword [rbx + 0x28]
mulss xmm11, xmm11
mulss xmm0, xmm0
addss xmm11, xmm0
mulss xmm13, xmm13
addss xmm11, xmm13
xorps xmm0, xmm0
ucomiss xmm0, xmm11
ja 0x180036dee
xorps xmm0, xmm0
sqrtss xmm0, xmm11
jmp 0x180036df7
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x18011c334]
comiss xmm1, xmm0
jae 0x18003731a
movsd xmm13, qword [0x1801061c8]
movss xmm11, dword [0x180106760]
movss xmm10, dword [0x1801062dc]
mov qword [0x18011f158], 0
mov rbx, qword [0x18011f160]
mov qword [0x18011f160], 0
test rbx, rbx
je 0x180036e70
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180036e70
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180036e70
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lea rdx, [rbp + 0x100]
mov rcx, qword [r13 + 0x40]
call fcn.180087fa0
nop
mov rdi, qword [rbp + 0x100]
cmp rdi, qword [rbp + 0x108]
je 0x18003719d
nop word [rax + rax]
lea rdx, [rsp + 0x28]
mov rcx, qword [rdi]
call fcn.180083310
mov rbx, qword [rdi]
mov r8, qword [rbx]
mov edx, 0x28
mov rcx, qword [rbx + 0x10]
call fcn.180088d90
test rax, rax
jne 0x180036ecc
movaps xmm9, xmm8
jmp 0x180036edf
mov r8, rax
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx]
call fcn.18003b610
movaps xmm9, xmm0
lea rdx, [rbp + 0x18]
mov rcx, qword [r13 + 0x40]
call fcn.180087490
nop
lea rdx, [rbp + 0x54]
mov rcx, qword [rax]
call fcn.180083310
movss xmm1, dword [rax + 4]
subss xmm1, dword [rsp + 0x2c]
movss xmm2, dword [rax]
subss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rax + 8]
subss xmm0, dword [rsp + 0x30]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180036f3e
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x180036f49
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
movss dword [rsp + 0x38], xmm6
mov rbx, qword [rbp + 0x20]
test rbx, rbx
je 0x180036f83
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180036f83
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180036f83
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
comiss xmm6, dword [0x18011c334]
ja 0x180037185
movss xmm0, dword [0x1801060ec]
comiss xmm0, xmm6
ja 0x180037185
mov rbx, qword [rdi]
mov r8, qword [rbx]
mov edx, 0x21
mov rcx, qword [rbx + 0x10]
call fcn.180088d90
test rax, rax
je 0x180036fda
mov r8, rax
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx]
call fcn.180083990
test al, al
je 0x180036fda
cmp byte [0x18011f0a1], 0
je 0x180037185
mov rbx, qword [rsi]
movss xmm1, dword [rsp + 0x28]
subss xmm1, dword [rbx + 0x24]
movss xmm0, dword [rsp + 0x30]
subss xmm0, dword [rbx + 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm7
divss xmm0, dword [0x1801061b0]
subss xmm0, dword [0x18010624c]
movss xmm1, dword [rbx + 0x48]
subss xmm1, xmm0
xorps xmm1, xmm11
addss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
comiss xmm8, xmm6
jbe 0x18003703f
addss xmm6, xmm14
subss xmm6, xmm7
andps xmm6, xmm15
mov eax, dword [0x18011c338]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm6, xmm0
ja 0x180037185
mov rax, qword [rdi + 8]
test rax, rax
je 0x18003706f
lock inc dword [rax + 8]
mov rcx, qword [rdi]
mov qword [rbp - 0x40], rcx
mov r8, qword [rdi + 8]
mov qword [rbp - 0x38], r8
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x2c]
unpcklps xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd qword [rbp - 0x30], xmm1
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov dword [rbp - 0x28], eax
mov rdx, qword [rbp + 0x88]
cmp rdx, qword [rbp + 0x90]
je 0x1800370dd
movss xmm0, dword [rsp + 0x38]
movss dword [rdx], xmm0
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], r8
xor ecx, ecx
mov qword [rbp - 0x38], rcx
movsd qword [rdx + 0x18], xmm1
mov dword [rdx + 0x20], eax
add qword [rbp + 0x88], 0x28
jmp 0x1800370f6
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x38]
lea rcx, [rbp + 0x80]
call fcn.180038bc0
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x18003712b
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18003712b
mov rbx, qword [rbp - 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18003712b
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + 8]
cmp dword [0x18011c33c], 2
jne 0x180037140
comiss xmm12, xmm6
jbe 0x180037185
movaps xmm12, xmm6
jmp 0x180037153
cmp dword [0x18011c33c], 0
jne 0x180037185
comiss xmm10, xmm9
jbe 0x180037185
movaps xmm10, xmm9
movss xmm0, dword [rsp + 0x28]
movss dword [0x180120c30], xmm0
movss xmm1, dword [rsp + 0x2c]
movss xmm0, dword [rsp + 0x30]
movss dword [0x180120c34], xmm1
movss dword [0x180120c38], xmm0
mov rdx, rdi
call fcn.180005f30
add rdi, 0x10
cmp rdi, qword [rbp + 0x108]
jne 0x180036ea0
mov rdi, qword [rbp + 0x100]
test rdi, rdi
je 0x1800371ef
mov rdx, qword [rbp + 0x108]
mov rcx, rdi
call fcn.180006010
mov rdx, qword [rbp + 0x110]
sub rdx, rdi
and rdx, 0xfffffffffffffff0
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800371e7
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800371e7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.1800a7010
mov rdi, qword [rbp + 0x80]
cmp rdi, qword [rbp + 0x88]
je 0x180037328
cmp dword [0x18011c33c], 1
jne 0x180037340
lea rbx, [rdi + 0x28]
cmp rbx, qword [rbp + 0x88]
je 0x1800372d8
mov rax, qword [rsi]
movss xmm6, dword [rax + 0x48]
movss xmm9, dword [rax + 0x24]
movss xmm10, dword [rax + 0x2c]
nop word [rax + rax]
movss xmm1, dword [rbx + 0x18]
subss xmm1, xmm9
movss xmm0, dword [rbx + 0x20]
subss xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm7
divss xmm0, dword [0x1801061b0]
subss xmm0, dword [0x18010624c]
movaps xmm1, xmm6
subss xmm1, xmm0
xorps xmm1, xmm11
addss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm8, xmm1
jbe 0x18003729e
addss xmm1, xmm14
subss xmm1, xmm7
andps xmm1, xmm15
movss xmm0, dword [rdi]
comiss xmm0, dword [rbx]
jbe 0x1800372b9
comiss xmm12, xmm1
jbe 0x1800372b9
mov cl, 1
jmp 0x1800372bb
xor cl, cl
mov rax, rbx
test cl, cl
cmove rax, rdi
mov rdi, rax
add rbx, 0x28
cmp rbx, qword [rbp + 0x88]
jne 0x180037240
lea rdx, [rdi + 8]
call fcn.180005f30
lea rdx, [rbp + 0x60]
mov rcx, qword [rdi + 8]
call fcn.180083310
movsd xmm0, qword [rax]
movsd qword [0x180120c30], xmm0
movss xmm9, dword [rax + 8]
movss dword [0x180120c38], xmm9
movss xmm10, dword [0x180120c30]
movss xmm6, dword [0x180120c34]
cmp qword [0x18011f158], 0
jne 0x1800373d3
mov qword [rsp + 0x20], 0xa
lea rcx, [rsp + 0x20]
call fcn.1800048d0
jmp 0x180038990
movss xmm9, dword [0x180120c38]
cmp dword [0x18011c33c], 0
jne 0x180037309
mov rbx, qword [rsi]
movss xmm10, dword [0x180120c30]
movaps xmm1, xmm10
subss xmm1, dword [rbx + 0x24]
movaps xmm0, xmm9
subss xmm0, dword [rbx + 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm7
divss xmm0, dword [0x1801061b0]
subss xmm0, dword [0x18010624c]
movss xmm1, dword [rbx + 0x48]
subss xmm1, xmm0
xorps xmm1, xmm11
addss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm8, xmm1
jbe 0x1800373bc
addss xmm1, xmm14
subss xmm1, xmm7
andps xmm1, xmm15
comiss xmm1, xmm12
jbe 0x180037312
jmp 0x180037328
mov rax, qword [rsi]
movsd xmm0, qword [rax + 0x24]
movsd qword [rbp + 0x70], xmm0
mov eax, dword [rax + 0x2c]
mov dword [rbp + 0x78], eax
cmp byte [0x18011f09e], 0
je 0x18003756f
movaps xmm3, xmm9
movss xmm2, dword [0x1801060f4]
movaps xmm1, xmm6
movaps xmm0, xmm10
addss xmm3, xmm2
subss xmm9, xmm2
subss xmm0, xmm2
addss xmm10, xmm2
cmp dword [0x18011f0b0], 2
jne 0x180037457
addss xmm1, dword [0x1801060ec]
subss xmm6, dword [0x180106164]
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm6
movss dword [rbp - 0x68], xmm9
movss dword [rbp - 0x64], xmm10
movss dword [rbp - 0x60], xmm1
movss dword [rbp - 0x5c], xmm3
lea rax, [rbp - 0x70]
jmp 0x180037483
addss xmm1, dword [0x180106178]
movss dword [rbp - 0x58], xmm0
movss dword [rbp - 0x54], xmm6
movss dword [rbp - 0x50], xmm9
movss dword [rbp - 0x4c], xmm10
movss dword [rbp - 0x48], xmm1
movss dword [rbp - 0x44], xmm3
lea rax, [rbp - 0x58]
movups xmm2, xmmword [rax]
movups xmmword [rbp + 0xe8], xmm2
movsd xmm3, qword [rax + 0x10]
movss xmm1, dword [rbp + 0x70]
comiss xmm2, xmm1
seta al
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0x70]
test al, al
cmove rcx, rdx
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xff
comiss xmm1, xmm0
seta al
lea r9, [rbp + 0xf4]
test al, al
cmove r9, rcx
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
movss xmm1, dword [rbp + 0x74]
comiss xmm0, xmm1
seta al
lea rcx, [rbp + 0xec]
lea rdx, [rbp + 0x74]
test al, al
cmove rcx, rdx
comiss xmm1, xmm3
seta al
lea r8, [rbp + 0xf8]
test al, al
cmove r8, rcx
shufps xmm2, xmm2, 0xaa
movss xmm1, dword [rbp + 0x78]
comiss xmm2, xmm1
seta al
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x78]
test al, al
cmove rdx, rcx
movaps xmm0, xmm3
shufps xmm0, xmm0, 0x55
movsd qword [rbp + 0xf8], xmm3
comiss xmm1, xmm0
seta al
lea rcx, [rbp + 0xfc]
test al, al
cmove rcx, rdx
movss xmm6, dword [r9]
movss xmm10, dword [r8]
movss xmm9, dword [rcx]
movss xmm12, dword [0x180106760]
movsd xmm13, qword [0x1801061c8]
movss xmm15, dword [0x1801061b0]
jmp 0x180037a6b
movss xmm4, dword [0x180106164]
cmp dword [0x18011f0b0], 3
jne 0x18003758c
addss xmm6, xmm4
movss dword [0x180120c34], xmm6
xor eax, eax
movaps xmm3, xmm9
movss xmm2, dword [0x1801060f4]
addss xmm3, xmm2
movaps xmm1, xmm6
subss xmm1, xmm4
movaps xmm0, xmm10
subss xmm0, xmm2
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm1
movss dword [rbp - 0x18], xmm3
subss xmm9, xmm2
movss dword [rbp - 0x14], xmm0
movss dword [rbp - 0x10], xmm1
movss dword [rbp - 0xc], xmm9
addss xmm6, dword [0x1801060ec]
addss xmm10, xmm2
movss dword [rbp - 8], xmm10
movss dword [rbp - 4], xmm6
movss dword [rbp], xmm9
movss dword [rbp + 4], xmm10
movss dword [rbp + 8], xmm6
movss dword [rbp + 0xc], xmm3
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], rax
lea edx, [rax + 4]
call fcn.180032390
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
lea rbx, [rax + 0x30]
mov qword [rbp + 0xd0], rbx
mov r8d, 0x30
lea rdx, [rbp - 0x20]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0xc8], rbx
mov rax, qword [rsi]
movss xmm6, dword [rax + 0x48]
movss xmm1, dword [0x180120c30]
movss xmm10, dword [rbp + 0x70]
subss xmm1, xmm10
movss xmm0, dword [0x180120c38]
movss xmm11, dword [rbp + 0x78]
subss xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm7
movss xmm15, dword [0x1801061b0]
divss xmm0, xmm15
subss xmm0, dword [0x18010624c]
movaps xmm1, xmm6
subss xmm1, xmm0
movss xmm12, dword [0x180106760]
xorps xmm1, xmm12
addss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd xmm13, qword [0x1801061c8]
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
comiss xmm8, xmm9
jbe 0x1800376dd
addss xmm9, xmm14
subss xmm9, xmm7
mov rdi, qword [rbp + 0xc0]
sub rbx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
mov rbx, rdx
sar rbx, 1
mov rax, rbx
shr rax, 0x3f
add rbx, rax
je 0x180038a87
movss xmm1, dword [rdi]
subss xmm1, xmm10
movss xmm0, dword [rdi + 8]
subss xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm7
divss xmm0, xmm15
subss xmm0, dword [0x18010624c]
movaps xmm1, xmm6
subss xmm1, xmm0
xorps xmm1, xmm12
addss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm8, xmm1
jbe 0x180037769
addss xmm1, xmm14
subss xmm1, xmm7
movss dword [rbp - 0x80], xmm1
cmp rbx, 1
jbe 0x180038a87
movss xmm1, dword [rdi + 0xc]
subss xmm1, xmm10
movss xmm0, dword [rdi + 0x14]
subss xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm7
divss xmm0, xmm15
subss xmm0, dword [0x18010624c]
movaps xmm1, xmm6
subss xmm1, xmm0
xorps xmm1, xmm12
addss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm8, xmm1
jbe 0x1800377d7
addss xmm1, xmm14
subss xmm1, xmm7
movss dword [rbp - 0x7c], xmm1
cmp rbx, 2
jbe 0x180038a87
movss xmm1, dword [rdi + 0x18]
subss xmm1, xmm10
movss xmm0, dword [rdi + 0x20]
subss xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm7
divss xmm0, xmm15
subss xmm0, dword [0x18010624c]
movaps xmm1, xmm6
subss xmm1, xmm0
xorps xmm1, xmm12
addss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm8, xmm1
jbe 0x180037845
addss xmm1, xmm14
subss xmm1, xmm7
movss dword [rbp - 0x78], xmm1
cmp rbx, 3
jbe 0x180038a87
movss xmm1, dword [rdi + 0x24]
subss xmm1, xmm10
movss xmm0, dword [rdi + 0x2c]
subss xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm7
divss xmm0, xmm15
subss xmm0, dword [0x18010624c]
subss xmm6, xmm0
xorps xmm6, xmm12
addss xmm6, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm8, xmm1
jbe 0x1800378b0
addss xmm1, xmm14
subss xmm1, xmm7
movss dword [rbp - 0x74], xmm1
mov ecx, 0x10
call fcn.1800a7020
mov qword [rbp + 0xa8], rax
lea rbx, [rax + 0x10]
mov qword [rbp + 0xb8], rbx
mov r8d, 0x10
lea rdx, [rbp - 0x80]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rbp + 0xa8]
mov rax, r8
comiss xmm8, xmm9
jbe 0x18003792e
cmp r8, rbx
je 0x180037924
lea rcx, [r8 + 4]
cmp rcx, rbx
je 0x180037924
nop word [rax + rax]
movss xmm0, dword [rcx]
comiss xmm0, dword [rax]
cmova rax, rcx
add rcx, 4
cmp rcx, rbx
jne 0x180037910
movss xmm0, dword [rax]
comiss xmm0, xmm8
jmp 0x180037958
cmp r8, rbx
je 0x180037954
lea rcx, [r8 + 4]
cmp rcx, rbx
je 0x180037954
nop dword [rax]
movss xmm0, dword [rax]
comiss xmm0, dword [rcx]
cmova rax, rcx
add rcx, 4
cmp rcx, rbx
jne 0x180037940
comiss xmm8, dword [rax]
jbe 0x1800379e4
mov qword [rsp + 0x20], 0xa
lea rcx, [rsp + 0x20]
call fcn.1800048d0
mov rcx, qword [rbp + 0xa8]
test rcx, rcx
je 0x1800379d3
mov rax, qword [rbp + 0xb8]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800379b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180037a3a
call fcn.1800a7010
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], 0
lea rcx, [rbp + 0xc0]
call fcn.180032160
jmp 0x180038990
movss xmm6, dword [0x180120c30]
movss xmm10, dword [0x180120c34]
movss xmm9, dword [0x180120c38]
test r8, r8
je 0x180037a5f
mov rax, qword [rbp + 0xb8]
sub rax, r8
sar rax, 2
lea rdx, [rax*4]
mov rax, r8
cmp rdx, 0x1000
jb 0x180037a41
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180037a41
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1800a7010
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], 0
lea rcx, [rbp + 0xc0]
call fcn.180032160
mov rbx, qword [rsi]
subss xmm6, dword [rbx + 0x24]
subss xmm10, dword [rbx + 0x28]
subss xmm9, dword [rbx + 0x2c]
movaps xmm1, xmm9
mulss xmm1, xmm9
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x180037aa6
xorps xmm11, xmm11
sqrtss xmm11, xmm1
jmp 0x180037ab2
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm11, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm6, xmm0
mulss xmm6, xmm7
divss xmm6, xmm15
subss xmm6, dword [0x18010624c]
movaps xmm1, xmm11
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm10, xmm0
xorps xmm10, xmm12
mulss xmm10, xmm7
divss xmm10, xmm15
movss xmm1, dword [rbx + 0x48]
movss xmm9, dword [rbx + 0x44]
subss xmm1, xmm6
xorps xmm1, xmm12
addss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
comiss xmm8, xmm6
jbe 0x180037b2a
addss xmm6, xmm14
subss xmm6, xmm7
subss xmm9, xmm10
xorps xmm9, xmm12
addss xmm9, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm9
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
comiss xmm8, xmm9
jbe 0x180037b61
addss xmm9, xmm14
subss xmm9, xmm7
lea rcx, [0x18011f400]
call fcn.180005b10
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
movss xmm10, dword [0x180106098]
mulss xmm0, xmm10
mulss xmm0, dword [0x1801061d0]
subss xmm0, dword [0x180106190]
addss xmm6, xmm0
lea rcx, [0x18011f400]
call fcn.180005b10
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm10
mulss xmm0, dword [0x1801061d0]
subss xmm0, dword [0x180106190]
addss xmm9, xmm0
lea rcx, [0x18011f400]
call fcn.180005b10
mov ecx, eax
imul rsi, rcx, 0x65
cmp esi, 0x43
ja 0x180037c17
nop dword [rax]
lea rcx, [0x18011f400]
call fcn.180005b10
mov ecx, eax
imul rsi, rcx, 0x65
cmp esi, 0x44
jb 0x180037c00
shr rsi, 0x20
mov eax, dword [r15 + r12]
cmp dword [0x180120c3c], eax
jle 0x180037c5f
lea rcx, [0x180120c3c]
call fcn.1800a7210
cmp dword [0x180120c3c], 0xffffffff
jne 0x180037c5f
mov qword [0x180120c40], 0
lea rcx, [0x180120c40]
call fcn.18000a9b0
lea rcx, [0x180120c3c]
call fcn.1800a71b0
mov eax, dword [r15 + r12]
cmp dword [0x180120c48], eax
jle 0x180037ca3
lea rcx, [0x180120c48]
call fcn.1800a7210
cmp dword [0x180120c48], 0xffffffff
jne 0x180037ca3
mov qword [0x180120c50], 0
lea rcx, [0x180120c50]
call fcn.18000a9b0
lea rcx, [0x180120c48]
call fcn.1800a71b0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180037cc1
imul rcx, rax, 0x64
jmp 0x180037cdc
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180120c40]
movabs r12, 0x431bde82d7b634db
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
movss xmm13, dword [0x18010629c]
comiss xmm0, xmm13
jb 0x180037da1
movss xmm0, dword [0x18011c394]
movss dword [0x18011c398], xmm0
lea rcx, [0x18011f400]
call fcn.180005b10
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm10
addss xmm0, dword [0x180106104]
movss dword [0x18011c394], xmm0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180037d7f
imul rax, rax, 0x64
jmp 0x180037d9a
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x180120c40], rax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180037dbf
imul rcx, rax, 0x64
jmp 0x180037dda
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180120c40]
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
divss xmm0, xmm13
movss dword [rbp + 0xa0], xmm0
movss xmm11, dword [0x180106148]
mov dword [rsp + 0x44], 0x3f800000
mov dword [rsp + 0x40], 0
comiss xmm8, xmm0
seta al
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xa0]
test al, al
cmove rdx, rcx
comiss xmm0, xmm11
seta al
lea rcx, [rsp + 0x44]
test al, al
cmove rcx, rdx
movss xmm1, dword [rcx]
movaps xmm0, xmm1
addss xmm0, xmm1
movss xmm14, dword [0x1801061ac]
movaps xmm2, xmm14
subss xmm2, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm1
movss xmm0, dword [0x18011c394]
subss xmm0, dword [0x18011c398]
mulss xmm2, xmm0
addss xmm2, dword [0x18011c398]
movss dword [0x18011c390], xmm2
movss xmm12, dword [0x1801062c4]
cmp byte [0x18011f150], 0
je 0x180037f15
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180037ec6
imul rcx, rax, 0x64
jmp 0x180037ee1
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180120c50]
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
comiss xmm0, dword [0x1801061f8]
jbe 0x180037f85
movss xmm2, dword [0x18011c390]
movaps xmm0, xmm12
movss xmm15, dword [rsp + 0x3c]
divss xmm0, xmm15
mulss xmm0, xmm2
divss xmm6, xmm0
movss dword [0x18011f14c], xmm6
mov byte [0x18011f150], 1
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180037f61
imul rax, rax, 0x64
mov qword [0x180120c50], rax
jmp 0x180037f8c
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x180120c50], rax
jmp 0x180037f8c
movss xmm15, dword [rsp + 0x3c]
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
lea rdx, [rbp + 0xd8]
mov rcx, qword [r13 + 0x40]
call fcn.180087490
nop
mov rdi, qword [rbp + 0xd8]
test rdi, rdi
jne 0x180037fc9
mov qword [rbp + 0x10], 0xa
lea rcx, [rbp + 0x10]
call fcn.1800048d0
jmp 0x18003894e
mov r8, qword [rdi]
mov edx, 8
mov rcx, qword [rdi + 0x10]
call fcn.180089560
mov r8, rax
test rax, rax
jne 0x180037fe8
movaps xmm7, xmm8
jmp 0x180037fff
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov rdx, qword [rdi + 0x10]
call r9
movaps xmm7, xmm0
movss xmm6, dword [0x18011f14c]
addss xmm6, xmm7
mov rbx, qword [rdi]
mov r8, rbx
mov edx, 8
mov rcx, qword [rdi + 0x10]
call fcn.180089560
mov r8, qword [rbx]
mov r9, qword [r8 + 0x378]
movaps xmm3, xmm6
mov r8, rax
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call r9
movss xmm6, dword [0x18011f14c]
addss xmm6, xmm7
mov rbx, qword [rdi]
mov r8, rbx
mov edx, 0xa
mov rcx, qword [rdi + 0x10]
call fcn.180089560
mov r8, qword [rbx]
mov r9, qword [r8 + 0x378]
movaps xmm3, xmm6
mov r8, rax
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call r9
mov ebx, 4
mov eax, dword [r15 + rbx]
cmp dword [0x180120c58], eax
jle 0x1800380bc
lea rcx, [0x180120c58]
call fcn.1800a7210
cmp dword [0x180120c58], 0xffffffff
jne 0x1800380bc
mov qword [0x180120c60], 0
lea rcx, [0x180120c60]
call fcn.18000a9b0
lea rcx, [0x180120c58]
call fcn.1800a71b0
mov eax, dword [r15 + rbx]
cmp dword [0x180120c68], eax
jle 0x180038100
lea rcx, [0x180120c68]
call fcn.1800a7210
cmp dword [0x180120c68], 0xffffffff
jne 0x180038100
mov qword [0x180120c70], 0
lea rcx, [0x180120c70]
call fcn.18000a9b0
lea rcx, [0x180120c68]
call fcn.1800a71b0
mov eax, dword [r15 + rbx]
cmp dword [0x180120c78], eax
jle 0x18003816a
lea rcx, [0x180120c78]
call fcn.1800a7210
cmp dword [0x180120c78], 0xffffffff
jne 0x18003816a
lea rcx, [0x18011f400]
call fcn.180005b10
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm10
mulss xmm0, dword [0x1801060c4]
subss xmm0, dword [0x1801060bc]
movss dword [0x180120c7c], xmm0
lea rcx, [0x180120c78]
call fcn.1800a71b0
mov eax, dword [r15 + rbx]
cmp dword [0x180120c80], eax
jle 0x1800381b7
lea rcx, [0x180120c80]
call fcn.1800a7210
cmp dword [0x180120c80], 0xffffffff
jne 0x1800381b7
movss xmm0, dword [0x1801062a8]
movss dword [0x180120c88], xmm0
movss xmm1, dword [0x1801062b4]
movss dword [0x180120c8c], xmm1
lea rcx, [0x180120c80]
call fcn.1800a71b0
mov eax, dword [r15 + rbx]
cmp dword [0x180120c90], eax
jle 0x1800381f4
lea rcx, [0x180120c90]
call fcn.1800a7210
cmp dword [0x180120c90], 0xffffffff
jne 0x1800381f4
movss xmm0, dword [0x180120c88]
movss dword [0x180120c94], xmm0
lea rcx, [0x180120c90]
call fcn.1800a71b0
mov eax, dword [r15 + rbx]
cmp dword [0x180120c98], eax
jle 0x180038231
lea rcx, [0x180120c98]
call fcn.1800a7210
cmp dword [0x180120c98], 0xffffffff
jne 0x180038231
movss xmm0, dword [0x180120c8c]
movss dword [0x180120c9c], xmm0
lea rcx, [0x180120c98]
call fcn.1800a71b0
mov eax, dword [r15 + rbx]
cmp dword [0x180120ca0], eax
jle 0x18003826e
lea rcx, [0x180120ca0]
call fcn.1800a7210
cmp dword [0x180120ca0], 0xffffffff
jne 0x18003826e
movss xmm0, dword [0x180120c88]
movss dword [0x180120ca4], xmm0
lea rcx, [0x180120ca0]
call fcn.1800a71b0
mov eax, dword [r15 + rbx]
cmp dword [0x180120ca8], eax
jle 0x1800382ab
lea rcx, [0x180120ca8]
call fcn.1800a7210
cmp dword [0x180120ca8], 0xffffffff
jne 0x1800382ab
movss xmm0, dword [0x180120c8c]
movss dword [0x180120cac], xmm0
lea rcx, [0x180120ca8]
call fcn.1800a71b0
mov eax, dword [r15 + rbx]
cmp dword [0x180120cb0], eax
jle 0x180038321
lea rcx, [0x180120cb0]
call fcn.1800a7210
cmp dword [0x180120cb0], 0xffffffff
jne 0x180038321
lea rcx, [0x18011f400]
call fcn.180005b10
mov eax, eax
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
subss xmm2, xmm8
addss xmm2, xmm8
mulss xmm2, xmm10
movss xmm0, dword [0x180120cac]
subss xmm0, dword [0x180120ca4]
mulss xmm2, xmm0
addss xmm2, dword [0x180120ca4]
movss dword [0x180120cb4], xmm2
lea rcx, [0x180120cb0]
call fcn.1800a71b0
mov r8, qword [rdi]
mov edx, 9
mov rcx, qword [rdi + 0x10]
call fcn.180089560
mov r8, rax
test rax, rax
jne 0x180038340
movaps xmm7, xmm8
jmp 0x180038357
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov rdx, qword [rdi + 0x10]
call r9
movaps xmm7, xmm0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180038375
imul rcx, rax, 0x64
jmp 0x180038390
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180120c60]
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
comiss xmm0, dword [0x180120cb4]
jbe 0x180038496
movss xmm0, dword [0x180120c7c]
movss dword [0x18011f148], xmm0
lea rcx, [0x18011f400]
call fcn.180005b10
mov eax, eax
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
subss xmm2, xmm8
addss xmm2, xmm8
mulss xmm2, xmm10
movss xmm0, dword [0x180120cac]
subss xmm0, dword [0x180120ca4]
mulss xmm2, xmm0
addss xmm2, dword [0x180120ca4]
movss dword [0x180120cb4], xmm2
lea rcx, [0x18011f400]
call fcn.180005b10
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm8
addss xmm0, xmm8
mulss xmm0, xmm10
mulss xmm0, dword [0x1801060c0]
subss xmm0, dword [0x1801060b8]
movss dword [0x180120c7c], xmm0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180038474
imul rax, rax, 0x64
jmp 0x18003848f
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x180120c60], rax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800384b4
imul rcx, rax, 0x64
jmp 0x1800384cf
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180120c60]
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
divss xmm0, dword [0x180120cb4]
movss dword [rbp + 0x98], xmm0
mov dword [rsp + 0x4c], 0x3f800000
mov dword [rsp + 0x48], 0
comiss xmm8, xmm0
seta al
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x98]
test al, al
cmove rdx, rcx
comiss xmm0, xmm11
seta al
lea rcx, [rsp + 0x4c]
test al, al
cmove rcx, rdx
movss xmm1, dword [rcx]
movaps xmm0, xmm1
addss xmm0, xmm1
subss xmm14, xmm0
mulss xmm1, xmm1
mulss xmm14, xmm1
movss xmm0, dword [0x180120c7c]
subss xmm0, dword [0x18011f148]
mulss xmm14, xmm0
addss xmm14, dword [0x18011f148]
movss dword [0x18011f144], xmm14
mov dword [rsp + 0x58], 0x3f800000
mov dword [rsp + 0x50], 0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800385ab
imul rcx, rax, 0x64
jmp 0x1800385c6
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180120c70]
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
movss xmm6, dword [0x180106284]
divss xmm0, xmm6
movss dword [rsp + 0x54], xmm0
comiss xmm8, xmm0
seta al
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x54]
test al, al
cmove rdx, rcx
comiss xmm0, xmm11
seta al
lea rcx, [rsp + 0x58]
test al, al
cmove rcx, rdx
movss xmm2, dword [rcx]
movss xmm1, dword [0x180120c88]
movss xmm0, dword [0x180120c94]
call fcn.180030900
movss dword [0x180120ca4], xmm0
mov dword [rsp + 0x64], 0x3f800000
mov dword [rsp + 0x5c], 0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180038673
imul rcx, rax, 0x64
jmp 0x18003868e
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180120c70]
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
divss xmm0, xmm6
movss dword [rsp + 0x60], xmm0
comiss xmm8, xmm0
seta al
lea r8, [rsp + 0x5c]
lea rcx, [rsp + 0x60]
test al, al
cmove r8, rcx
comiss xmm0, xmm11
seta al
lea rdx, [rsp + 0x64]
test al, al
cmove rdx, r8
movss xmm2, dword [rdx]
movss xmm1, dword [0x180120c8c]
movss xmm0, dword [0x180120c9c]
call fcn.180030900
movss dword [0x180120cac], xmm0
cmp esi, 5
jae 0x18003882e
lea rcx, [0x18011f400]
call fcn.180005b10
mov eax, eax
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
subss xmm3, xmm8
addss xmm3, xmm8
mulss xmm3, xmm10
mulss xmm3, dword [0x180106278]
movss xmm2, dword [0x180106290]
addss xmm3, xmm2
mov dword [rsp + 0x70], 0x43c80000
mov dword [rsp + 0x68], 0x437a0000
movaps xmm0, xmm3
subss xmm0, dword [0x1801061f8]
movss dword [rsp + 0x6c], xmm0
comiss xmm2, xmm0
seta al
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x6c]
test al, al
cmove rdx, rcx
comiss xmm0, xmm13
seta al
lea rcx, [rsp + 0x70]
test al, al
cmove rcx, rdx
movss xmm0, dword [rcx]
movss dword [0x180120c94], xmm0
mov dword [rsp + 0x7c], 0x43c80000
mov dword [rsp + 0x74], 0x437a0000
addss xmm3, dword [0x1801061f8]
movss dword [rsp + 0x78], xmm3
comiss xmm2, xmm3
seta al
lea rdx, [rsp + 0x74]
lea rcx, [rsp + 0x78]
test al, al
cmove rdx, rcx
comiss xmm3, xmm13
seta al
lea rcx, [rsp + 0x7c]
test al, al
cmove rcx, rdx
movss xmm0, dword [rcx]
movss dword [0x180120c9c], xmm0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x18003880c
imul rax, rax, 0x64
jmp 0x180038827
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x180120c70], rax
movss xmm6, dword [0x18011f144]
addss xmm6, xmm7
mov rbx, qword [rdi]
mov r8, rbx
mov edx, 9
mov rcx, qword [rdi + 0x10]
call fcn.180089560
mov r8, qword [rbx]
mov r9, qword [r8 + 0x378]
movaps xmm3, xmm6
mov r8, rax
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call r9
movss xmm6, dword [0x18011f144]
addss xmm6, xmm7
mov rbx, qword [rdi]
mov r8, rbx
mov edx, 0xb
mov rcx, qword [rdi + 0x10]
call fcn.180089560
mov r8, qword [rbx]
mov r9, qword [r8 + 0x378]
movaps xmm3, xmm6
mov r8, rax
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call r9
cmp byte [0x18011f0a2], 0
jne 0x18003894e
mov r8, qword [rdi]
mov edx, 9
mov rcx, qword [rdi + 0x10]
call fcn.180089560
mov r8, rax
test rax, rax
je 0x1800388e0
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov rdx, qword [rdi + 0x10]
call r9
movaps xmm8, xmm0
divss xmm12, xmm15
divss xmm9, xmm12
addss xmm9, xmm8
mov rbx, qword [rdi]
mov r8, rbx
mov edx, 9
mov rcx, qword [rdi + 0x10]
call fcn.180089560
mov r8, qword [rbx]
mov r9, qword [r8 + 0x378]
movaps xmm3, xmm9
mov r8, rax
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call r9
mov rbx, qword [rdi]
mov r8, rbx
mov edx, 0xb
mov rcx, qword [rdi + 0x10]
call fcn.180089560
mov r8, qword [rbx]
mov r9, qword [r8 + 0x378]
movaps xmm3, xmm9
mov r8, rax
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call r9
nop
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x180038990
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180038990
mov rbx, qword [rbp + 0xe0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x180038990
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x180038a25
mov rdx, qword [rbp + 0x88]
call fcn.180038b40
mov rcx, qword [rbp + 0x90]
mov r8, qword [rbp + 0x80]
sub rcx, r8
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x180038a08
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180038a08
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1800a7010
jmp 0x180038a25
mov qword [rsp + 0x20], 0xfa
lea rcx, [rsp + 0x20]
call fcn.1800048d0
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.1800a6c70
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180038b20
nop
int3