Function at 0x14003a440
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x8a8]
sub rsp, 0x968
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
movss xmm2, dword [0x14004e3f4]
movss dword [rbp + 0x8c8], xmm2
xor r12d, r12d
mov ebx, r12d
mov qword [rbp - 0x80], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r12
mov rcx, qword [0x140080c38]
sub rcx, qword [0x140080c30]
movabs r14, 0x6666666666666667
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14003a567
movabs rax, 0x666666666666666
cmp rdx, rax
ja 0x14003c2e5
lea rcx, [rbp + 0xb0]
call fcn.140044410
mov rdi, qword [0x140080c38]
mov rdx, qword [0x140080c30]
sub rdi, rdx
mov r8, rdi
mov r15, qword [rbp + 0xb0]
mov qword [rbp - 0x10], r15
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov rax, r14
imul rdi
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*4]
lea rcx, [r15 + rax*8]
mov qword [rbp + 0xb8], rcx
jmp 0x14003a579
mov rcx, qword [rbp + 0xb8]
mov r15, qword [rbp + 0xb0]
mov qword [rbp - 0x10], r15
cmp r15, rcx
je 0x14003c286
mov rcx, qword [0x140080600]
add rcx, 0x1e90
xor eax, eax
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x44], rax
mov dword [rsp + 0x4c], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm15, xmm15
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
mov qword [rbp + 0x3f0], 2
mov qword [rbp + 0x418], r12
movdqu xmmword [rbp + 0x420], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rbp + 0x3f8], rax
mov qword [rbp + 0x400], rcx
lea rax, [rsp + 0x40]
mov qword [rbp + 0x408], rax
mov qword [rbp + 0x410], 0x40
lea rdi, [rbp + 0x3f0]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rbp + 0x3f0]
call qword [0x140080b28]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [0x140080bf0], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [0x140080c00], xmm1
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [0x140080c10], xmm0
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [0x140080c20], xmm1
mov dword [rbp - 0x60], r12d
mov rcx, qword [0x140080c38]
sub rcx, qword [0x140080c30]
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
mov r13d, 0x10
movss xmm14, dword [0x14004e2ac]
movss xmm8, dword [0x14004e33c]
add rdx, rax
je 0x14003c07d
movss xmm11, dword [0x14004eab0]
movss xmm6, dword [0x14004e214]
nop
movups xmm0, xmmword [r15 + 0x10]
movups xmmword [rbp + 0x440], xmm0
movsd xmm1, qword [r15 + 0x20]
movsd qword [rbp + 0x450], xmm1
mov qword [rbp - 0x18], r12
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
mov r14, qword [r15]
mov qword [rbp - 0x70], r14
lea rax, [r14 + 0x380]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 8
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov rcx, qword [0x140080608]
add rcx, 0x168
mov qword [rbp + 0x8b8], r12
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
lea rax, [rbp + 0x8b8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 8
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov qword [rbp + 0x8b0], r12
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
lea rax, [r14 + 0x168]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x8b0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 8
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov rbx, qword [rbp + 0x8b0]
test rbx, rbx
je 0x14003c034
mov qword [rbp + 0x48], r12
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
lea rax, [r14 + 0x3a0]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 8
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov rcx, qword [0x140080608]
add rcx, 0x3a0
mov qword [rbp + 0x40], r12
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
lea rax, [rbp + 0x40]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 8
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov qword [rbp - 0x58], 0
mov dword [rbp - 0x50], 0
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
lea rax, [rbx + 0x16c]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0xc
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov qword [rbp - 0x28], 0
mov dword [rbp - 0x20], 0
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x8b8]
add rax, 0x16c
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0xc
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov qword [rbp + 0x8b8], r12
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
lea rax, [r14 + 0x340]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x8b8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 8
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov rcx, qword [0x140080608]
add rcx, 0x340
mov qword [rbp + 0x8c0], r12
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
lea rax, [rbp + 0x8c0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 8
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov dword [rbp + 0x8b0], r12d
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
mov rsi, qword [rbp + 0x8b8]
lea rax, [rsi + 0x4d0]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x8b0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 4
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov dword [rbp + 0x8b8], r12d
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x8c0]
add rax, 0x4d0
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x8b8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 4
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov eax, dword [rbp + 0x8b0]
cmp dword [rbp + 0x8b8], eax
je 0x14003c034
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x430], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x440], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x450], xmm0
movsd xmm1, qword [rbp - 0x58]
movsd qword [rbp + 0x390], xmm1
mov eax, dword [rbp - 0x50]
mov dword [rbp + 0x398], eax
lea r8, [rbp + 0x430]
lea rdx, [rbp + 0x390]
lea rcx, [rbp + 0x510]
call fcn.140038ef0
mov byte [rbp + 0x8b0], 0
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rax, dword [0x140080b30]
mov qword [rsp + 0x48], rax
lea rax, [r14 + 0x13ed]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x8b0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
movzx r12d, byte [rbp + 0x8b0]
mov byte [rbp + 0x8b8], r12b
test r12b, r12b
je 0x14003c031
movss xmm5, dword [rbp - 0x54]
movaps xmm1, xmm5
subss xmm1, dword [rbp - 0x24]
movss xmm3, dword [rbp - 0x58]
movaps xmm2, xmm3
subss xmm2, dword [rbp - 0x28]
movss xmm4, dword [rbp - 0x50]
movaps xmm0, xmm4
subss xmm0, dword [rbp - 0x20]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm10, xmm10
sqrtss xmm10, xmm2
mulss xmm10, xmm6
ucomiss xmm10, xmm15
je 0x14003c031
comiss xmm10, dword [0x14004e3b8]
ja 0x14003c031
ucomiss xmm3, xmm15
je 0x14003c031
ucomiss xmm4, xmm15
je 0x14003c031
ucomiss xmm5, xmm15
je 0x14003c031
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x14003c031
lea rdx, [r14 + 0x15b0]
call fcn.140043400
mov byte [rbp + 0x8b0], 0
xor ecx, ecx
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rcx, dword [0x140080b30]
mov qword [rsp + 0x48], rcx
add rax, 0x240
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x8b0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
cmp byte [rbp + 0x8b0], 0
setne byte [rbp + 0x8b0]
mov ecx, 0xff
call fcn.140045bb8
mov qword [rbp], rax
xor eax, eax
mov qword [rbp + 0x8c0], rax
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
movsxd rcx, dword [0x140080b30]
mov qword [rsp + 0x48], rcx
lea rcx, [rsi + 0x3f0]
mov qword [rsp + 0x50], rcx
lea rax, [rbp + 0x8c0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 8
lea rdi, [rsp + 0x40]
xor eax, eax
xor ecx, ecx
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call qword [0x140080b28]
mov rax, qword [rbp + 0x40]
cmp qword [rbp + 0x48], rax
jne 0x14003c031
lea rdx, [rbx + 0x288]
call fcn.140043470
movaps xmm6, xmm0
lea rdx, [rbx + 0x28c]
call fcn.140043470
addss xmm0, dword [0x14004e228]
comiss xmm0, xmm6
setae sil
mov byte [rbp + 0x8c0], sil
mov r8d, r13d
mov rdx, rbx
lea rcx, [rbp + 0x3a0]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x430], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x440], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x450], xmm0
movsd xmm1, qword [rbp + 0x3a0]
movsd qword [rbp + 0x3b0], xmm1
mov eax, dword [rbp + 0x3a8]
mov dword [rbp + 0x3b8], eax
lea r8, [rbp + 0x430]
lea rdx, [rbp + 0x3b0]
lea rcx, [rbp - 0x38]
call fcn.140038ef0
mov r8d, 1
mov rdx, rbx
lea rcx, [rbp + 0x3c0]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x520], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x530], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x540], xmm0
movsd xmm1, qword [rbp + 0x3c0]
movsd qword [rbp + 0x3d0], xmm1
mov eax, dword [rbp + 0x3c8]
mov dword [rbp + 0x3d8], eax
lea r8, [rbp + 0x520]
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp + 0x320]
call fcn.140038ef0
mov r8d, 0xf
mov rdx, rbx
lea rcx, [rbp + 0x3e0]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x550], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x560], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x570], xmm0
movsd xmm1, qword [rbp + 0x3e0]
movsd qword [rbp + 0xd0], xmm1
mov eax, dword [rbp + 0x3e8]
mov dword [rbp + 0xd8], eax
lea r8, [rbp + 0x550]
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x2a0]
call fcn.140038ef0
mov r8d, 0x33
mov rdx, rbx
lea rcx, [rbp + 0xe0]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x580], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x590], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x5a0], xmm0
movsd xmm1, qword [rbp + 0xe0]
movsd qword [rbp + 0xf0], xmm1
mov eax, dword [rbp + 0xe8]
mov dword [rbp + 0xf8], eax
lea r8, [rbp + 0x580]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x2c0]
call fcn.140038ef0
mov r8d, 0x15
mov rdx, rbx
lea rcx, [rbp + 0x100]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x790], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x7a0], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x7b0], xmm0
movsd xmm1, qword [rbp + 0x100]
movsd qword [rbp + 0x110], xmm1
mov eax, dword [rbp + 0x108]
mov dword [rbp + 0x118], eax
lea r8, [rbp + 0x790]
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x2d0]
call fcn.140038ef0
mov r8d, 0x34
mov rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x5b0], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x5c0], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x5d0], xmm0
movsd xmm1, qword [rbp + 0x120]
movsd qword [rbp + 0x130], xmm1
mov eax, dword [rbp + 0x128]
mov dword [rbp + 0x138], eax
lea r8, [rbp + 0x5b0]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x2e0]
call fcn.140038ef0
mov r8d, 0x16
mov rdx, rbx
lea rcx, [rbp + 0x140]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x5e0], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x5f0], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x600], xmm0
movsd xmm1, qword [rbp + 0x140]
movsd qword [rbp + 0x150], xmm1
mov eax, dword [rbp + 0x148]
mov dword [rbp + 0x158], eax
lea r8, [rbp + 0x5e0]
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x2f0]
call fcn.140038ef0
mov r8d, 0x32
mov rdx, rbx
lea rcx, [rbp + 0x160]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x610], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x620], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x630], xmm0
movsd xmm1, qword [rbp + 0x160]
movsd qword [rbp + 0x170], xmm1
mov eax, dword [rbp + 0x168]
mov dword [rbp + 0x178], eax
lea r8, [rbp + 0x610]
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x300]
call fcn.140038ef0
mov r8d, 0x14
mov rdx, rbx
lea rcx, [rbp + 0x180]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x640], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x650], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x660], xmm0
movsd xmm1, qword [rbp + 0x180]
movsd qword [rbp + 0x190], xmm1
mov eax, dword [rbp + 0x188]
mov dword [rbp + 0x198], eax
lea r8, [rbp + 0x640]
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x310]
call fcn.140038ef0
mov r8d, 7
mov rdx, rbx
lea rcx, [rbp + 0x1a0]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x670], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x680], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x690], xmm0
movsd xmm1, qword [rbp + 0x1a0]
movsd qword [rbp + 0x1b0], xmm1
mov eax, dword [rbp + 0x1a8]
mov dword [rbp + 0x1b8], eax
lea r8, [rbp + 0x670]
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x340]
call fcn.140038ef0
mov r8d, 2
mov rdx, rbx
lea rcx, [rbp + 0x1c0]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x6a0], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x6b0], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x6c0], xmm0
movsd xmm1, qword [rbp + 0x1c0]
movsd qword [rbp + 0x1d0], xmm1
mov eax, dword [rbp + 0x1c8]
mov dword [rbp + 0x1d8], eax
lea r8, [rbp + 0x6a0]
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x330]
call fcn.140038ef0
mov r8d, 9
mov rdx, rbx
lea rcx, [rbp + 0x1e0]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x6d0], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x6e0], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x6f0], xmm0
movsd xmm1, qword [rbp + 0x1e0]
movsd qword [rbp + 0x1f0], xmm1
mov eax, dword [rbp + 0x1e8]
mov dword [rbp + 0x1f8], eax
lea r8, [rbp + 0x6d0]
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x350]
call fcn.140038ef0
mov r8d, 4
mov rdx, rbx
lea rcx, [rbp + 0x200]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x700], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x710], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x720], xmm0
movsd xmm1, qword [rbp + 0x200]
movsd qword [rbp + 0x210], xmm1
mov eax, dword [rbp + 0x208]
mov dword [rbp + 0x218], eax
lea r8, [rbp + 0x700]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x80]
call fcn.140038ef0
mov r8d, 0xa
mov rdx, rbx
lea rcx, [rbp + 0x220]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x730], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x740], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x750], xmm0
movsd xmm1, qword [rbp + 0x220]
movsd qword [rbp + 0x230], xmm1
mov eax, dword [rbp + 0x228]
mov dword [rbp + 0x238], eax
lea r8, [rbp + 0x730]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x370]
call fcn.140038ef0
mov r8d, 5
mov rdx, rbx
lea rcx, [rbp + 0x240]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x760], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x770], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x780], xmm0
movsd xmm1, qword [rbp + 0x240]
movsd qword [rbp + 0x250], xmm1
mov eax, dword [rbp + 0x248]
mov dword [rbp + 0x258], eax
lea r8, [rbp + 0x760]
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0x360]
call fcn.140038ef0
mov r8d, 1
mov rdx, rbx
lea rcx, [rbp + 0x260]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rbp + 0x3f0], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rbp + 0x400], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rbp + 0x410], xmm0
movsd xmm1, qword [rbp + 0x260]
movsd qword [rbp + 0x270], xmm1
mov eax, dword [rbp + 0x268]
mov dword [rbp + 0x278], eax
lea r8, [rbp + 0x3f0]
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x2b0]
call fcn.140038ef0
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x280]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rsp + 0x60], xmm0
movsd xmm1, qword [rbp + 0x280]
movsd qword [rbp + 0x290], xmm1
mov eax, dword [rbp + 0x288]
mov dword [rbp + 0x298], eax
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x500]
call fcn.140038ef0
movss xmm8, dword [rbp - 0x34]
movss xmm9, dword [rbp - 0x38]
movzx edi, byte [rbp + 0x8b0]
test dil, dil
jne 0x14003b7e5
cmp byte [0x1400570d7], 1
jne 0x14003b7e5
cvttss2si r12d, dword [rbp + 0x2a4]
cvttss2si r15d, dword [rbp + 0x2a0]
cvttss2si r9d, xmm8
cvttss2si r8d, xmm9
lea r13, [0x14007f500]
mov qword [rsp + 0x20], r13
mov edx, r12d
mov ecx, r15d
call fcn.140038940
cvttss2si edx, dword [rbp + 0x2b4]
cvttss2si ecx, dword [rbp + 0x2b0]
mov qword [rsp + 0x20], r13
mov r9d, r12d
mov r8d, r15d
call fcn.140038940
cvttss2si edi, dword [rbp + 0x2c4]
cvttss2si ebx, dword [rbp + 0x2c0]
mov qword [rsp + 0x20], r13
mov r9d, r12d
mov r8d, r15d
mov edx, edi
mov ecx, ebx
call fcn.140038940
cvttss2si esi, dword [rbp + 0x2d4]
cvttss2si r14d, dword [rbp + 0x2d0]
mov qword [rsp + 0x20], r13
mov r9d, r12d
mov r8d, r15d
mov edx, esi
mov ecx, r14d
call fcn.140038940
cvttss2si r15d, dword [rbp + 0x2e4]
cvttss2si r12d, dword [rbp + 0x2e0]
mov qword [rsp + 0x20], r13
mov r9d, edi
mov r8d, ebx
mov edx, r15d
mov ecx, r12d
call fcn.140038940
cvttss2si edi, dword [rbp + 0x2f4]
cvttss2si ebx, dword [rbp + 0x2f0]
mov qword [rsp + 0x20], r13
mov r9d, esi
mov r8d, r14d
mov edx, edi
mov ecx, ebx
call fcn.140038940
cvttss2si r9d, dword [rbp + 0x304]
cvttss2si r8d, dword [rbp + 0x300]
mov qword [rsp + 0x20], r13
mov edx, r15d
mov ecx, r12d
call fcn.140038940
cvttss2si r9d, dword [rbp + 0x314]
cvttss2si r8d, dword [rbp + 0x310]
mov qword [rsp + 0x20], r13
mov edx, edi
mov ecx, ebx
call fcn.140038940
cvttss2si edi, dword [rbp + 0x324]
cvttss2si ebx, dword [rbp + 0x320]
cvttss2si esi, dword [rbp + 0x334]
cvttss2si r14d, dword [rbp + 0x330]
mov qword [rsp + 0x20], r13
mov r9d, edi
mov r8d, ebx
mov edx, esi
mov ecx, r14d
call fcn.140038940
cvttss2si r15d, dword [rbp + 0x344]
cvttss2si r12d, dword [rbp + 0x340]
mov qword [rsp + 0x20], r13
mov r9d, edi
mov r8d, ebx
mov edx, r15d
mov ecx, r12d
call fcn.140038940
cvttss2si r13d, dword [rbp + 0x84]
cvttss2si eax, dword [rbp + 0x80]
lea rcx, [0x14007f500]
mov qword [rsp + 0x20], rcx
mov r9d, esi
mov r8d, r14d
mov edx, r13d
mov ecx, eax
call fcn.140038940
cvttss2si edi, dword [rbp + 0x354]
cvttss2si ebx, dword [rbp + 0x350]
lea rsi, [0x14007f500]
mov qword [rsp + 0x20], rsi
mov r9d, r15d
mov r8d, r12d
mov edx, edi
mov ecx, ebx
call fcn.140038940
cvttss2si edx, dword [rbp + 0x364]
cvttss2si ecx, dword [rbp + 0x360]
mov qword [rsp + 0x20], rsi
mov r9d, r13d
cvttss2si r8d, dword [rbp + 0x80]
call fcn.140038940
cvttss2si edx, dword [rbp + 0x374]
cvttss2si ecx, dword [rbp + 0x370]
mov qword [rsp + 0x20], rsi
mov r9d, edi
mov r8d, ebx
call fcn.140038940
mov r14, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x18]
mov r15, qword [rbp - 0x10]
movzx r12d, byte [rbp + 0x8b8]
mov r13d, 0x10
movzx edi, byte [rbp + 0x8b0]
movzx esi, byte [rbp + 0x8c0]
movaps xmm7, xmm8
subss xmm7, dword [rbp + 0x504]
andps xmm7, xmm11
mov r8d, 0xf
mov rdx, rbx
lea rcx, [rbp + 0x90]
call fcn.140039210
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x380]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rsp + 0x60], xmm0
movsd xmm1, qword [rbp + 0x380]
movsd qword [rbp + 0x10], xmm1
mov eax, dword [rbp + 0x388]
mov dword [rbp + 0x18], eax
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xa0]
call fcn.140038ef0
movss xmm3, dword [rbp + 0x98]
addss xmm3, dword [0x14004e350]
movss xmm2, dword [rbp + 0x94]
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rsp + 0x60], xmm0
movss xmm1, dword [rbp + 0x90]
unpcklps xmm1, xmm2
movsd qword [rbp + 0x20], xmm1
movss dword [rbp + 0x28], xmm3
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x30]
call fcn.140038ef0
movss xmm13, dword [rbp + 0x34]
movaps xmm0, xmm13
movss xmm12, dword [rbp + 0xa4]
subss xmm0, xmm12
andps xmm0, xmm11
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [0x14004e2e8]
movaps xmm6, xmm1
mulsd xmm6, qword [0x14004e2e0]
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x8b8], xmm0
movaps xmm0, xmm6
mulsd xmm0, qword [0x14004e2d0]
cvtpd2ps xmm11, xmm0
maxss xmm11, dword [0x14004e2fc]
minss xmm11, dword [0x14004e318]
cmp byte [0x1400570c5], 1
jne 0x14003bf27
test dil, dil
je 0x14003b9fd
comiss xmm10, dword [0x14004e388]
jae 0x14003bf27
mov ecx, 0x400
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
movabs rax, 0x469a438cbd6e113b
mov qword [rbp + 0x470], rax
movabs rax, 0xdbe7b3e9944a7380
mov qword [rbp + 0x478], rax
movabs rax, 0x74bf1886d90f747f
mov qword [rbp + 0x460], rax
movabs rax, 0xdbe7b3e9c92715ae
mov qword [rbp + 0x468], rax
movaps xmm0, xmmword [rbp + 0x460]
xorps xmm0, xmmword [rbp + 0x470]
movdqa xmmword [rbp], xmm0
cvtps2pd xmm2, xmm10
movq r8, xmm2
lea rdx, [rbp]
mov rcx, rdi
call fcn.140014600
addss xmm12, dword [0x14004e2fc]
cvttss2si edx, xmm12
movss xmm0, dword [rbp + 0xa0]
subss xmm0, dword [0x14004e340]
cvttss2si ecx, xmm0
mov r9, rdi
lea r8, [0x14007f530]
jmp 0x14003bf22
mulss xmm7, dword [0x14004e224]
cvttss2si r8d, xmm7
cvttss2si edx, xmm8
cvttss2si ecx, xmm9
mov dword [rsp + 0x20], 0x1e
lea r9, [0x14007f340]
call fcn.140038860
cvtpd2ps xmm2, xmm6
mulsd xmm6, qword [0x14004e2e0]
movss xmm7, dword [rbp + 0x30]
lea rax, [rbp - 0x70]
movss xmm3, dword [rbp + 0x8b8]
movaps xmm1, xmm13
mov qword [rsp + 0x20], rax
test sil, sil
jne 0x14003ba5d
movdqa xmm0, xmmword [0x14004ea90]
jmp 0x14003ba65
movdqa xmm0, xmmword [0x14004e8d0]
movdqa xmmword [rbp - 0x70], xmm0
cvtps2pd xmm0, xmm7
subsd xmm0, xmm6
cvtpd2ps xmm0, xmm0
call fcn.140038af0
cmp byte [0x1400570d4], 1
jne 0x14003bb8e
cvtps2pd xmm0, xmm7
subsd xmm0, xmm6
subsd xmm0, qword [0x14004e300]
cvtpd2ps xmm7, xmm0
mov rdi, qword [0x140080590]
movdqa xmm0, xmmword [0x14004e880]
movups xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x70]
call fcn.140002e20
addss xmm11, xmm7
movaps xmm0, xmm11
addss xmm0, xmm14
movss dword [rbp + 0x50], xmm0
movss xmm6, dword [rbp + 0x8b8]
movaps xmm1, xmm6
addss xmm1, xmm13
addss xmm1, xmm14
movss dword [rbp + 0x54], xmm1
movaps xmm0, xmm7
subss xmm0, xmm14
movss dword [rbp + 0x58], xmm0
movaps xmm1, xmm13
subss xmm1, xmm14
movss dword [rbp + 0x5c], xmm1
movss dword [rsp + 0x30], xmm14
xor ebx, ebx
mov dword [rsp + 0x28], ebx
movss dword [rsp + 0x20], xmm15
mov r9d, eax
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
lea rcx, [rdi + 0x1cc8]
call fcn.14001ec90
movdqa xmm0, xmmword [0x14004e920]
movdqa xmmword [rbp - 0x70], xmm0
cvttss2si eax, xmm6
movd xmm6, eax
cvtdq2ps xmm6, xmm6
addss xmm6, xmm13
mov rdi, qword [0x140080590]
lea rcx, [rbp - 0x70]
call fcn.140002e20
movss dword [rbp + 0x60], xmm11
movss dword [rbp + 0x64], xmm6
movss dword [rbp + 0x68], xmm7
movss dword [rbp + 0x6c], xmm13
mov dword [rsp + 0x28], ebx
movss dword [rsp + 0x20], xmm15
mov r9d, eax
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x68]
lea rcx, [rdi + 0x1cc8]
call fcn.14001edd0
mov ecx, 0x400
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
movabs rax, 0x469a438cbd6e113b
mov qword [rbp + 0x4f0], rax
movabs rbx, 0xdbe7b3e9944a7380
mov qword [rbp + 0x4f8], rbx
movabs rax, 0x46c72eea935c3460
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x488], rbx
movaps xmm0, xmmword [rbp + 0x480]
xorps xmm0, xmmword [rbp + 0x4f0]
movdqa xmmword [rbp - 0x70], xmm0
cvtps2pd xmm2, xmm10
movq r8, xmm2
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.140014600
addss xmm12, dword [0x14004e2fc]
cvttss2si edx, xmm12
movss xmm0, dword [rbp + 0xa0]
movss xmm10, dword [0x14004e340]
subss xmm0, xmm10
cvttss2si ecx, xmm0
mov r9, rdi
lea r8, [0x14007f550]
call fcn.140038470
mov ecx, 0x400
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
dec r12b
test r12b, 0xfb
je 0x14003bd43
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x14003bc57
imul edi, ecx, 7
mov dword [rbp + 0x70], 0xf
mov dword [rbp + 0x74], 0xf
mov dword [rbp + 0x78], 0xff
mov dword [rbp + 0x7c], 0x78
movabs rax, 0x469a438cbd6e113b
mov qword [rbp + 0x4a0], rax
mov qword [rbp + 0x4a8], rbx
movabs rax, 0x469a43d1e9215360
mov qword [rbp + 0x490], rax
mov qword [rbp + 0x498], rbx
movaps xmm0, xmmword [rbp + 0x490]
xorps xmm0, xmmword [rbp + 0x4a0]
movdqa xmmword [rbp], xmm0
lea rdx, [rbp]
mov rcx, rsi
call fcn.140014600
lea eax, [rdi + 0x32]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm6, xmm9
subss xmm6, xmm0
movaps xmm1, xmm8
addss xmm1, dword [0x140080b40]
subss xmm1, dword [0x14004e35c]
cvttss2si edx, xmm1
movss xmm0, dword [0x140080b44]
movss xmm7, dword [0x14004e26c]
mulss xmm0, xmm7
addss xmm0, xmm6
subss xmm0, xmm14
cvttss2si ecx, xmm0
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 3
lea r8d, [rdi + 0x3c]
call fcn.140038760
lea rax, [rbp + 0x70]
lea r8d, [rdi + 0x3c]
jmp 0x14003bea9
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rsi + rax], 0
jne 0x14003bd50
imul ebx, eax, 7
mov dword [rbp - 0x48], 0xf
mov dword [rbp - 0x44], 0xff
mov dword [rbp - 0x40], 0xf
mov dword [rbp - 0x3c], 0x78
movabs rax, 0x469a438cbd6e113b
cmp byte [0x14008058a], 1
jne 0x14003bdea
mov qword [rbp + 0x4c0], rax
movabs rax, 0xdbe7b3e9944a7380
mov qword [rbp + 0x4c8], rax
movabs rax, 0x1be826f5dc024160
mov qword [rbp + 0x4b0], rax
movabs rax, 0xdbe7b3e99419568a
mov qword [rbp + 0x4b8], rax
movaps xmm0, xmmword [rbp + 0x4b0]
xorps xmm0, xmmword [rbp + 0x4c0]
movdqa xmmword [rbp - 0x70], xmm0
mov r8, qword [rbp]
lea rdx, [rbp - 0x70]
mov rcx, rsi
call fcn.140014600
jmp 0x14003be39
mov qword [rbp + 0x4e0], rax
movabs rax, 0xdbe7b3e9944a7380
mov qword [rbp + 0x4e8], rax
movabs rcx, 0x1be826f5dc024160
mov qword [rbp + 0x4d0], rcx
mov qword [rbp + 0x4d8], rax
movaps xmm0, xmmword [rbp + 0x4d0]
xorps xmm0, xmmword [rbp + 0x4e0]
movdqa xmmword [rbp], xmm0
lea rdx, [rbp]
mov rcx, rsi
call fcn.140014600
lea eax, [rbx + 0x41]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm6, xmm9
subss xmm6, xmm0
movaps xmm0, xmm8
addss xmm0, dword [0x140080b40]
subss xmm0, dword [0x14004e35c]
cvttss2si edx, xmm0
movss xmm1, dword [0x140080b44]
movss xmm7, dword [0x14004e26c]
mulss xmm1, xmm7
addss xmm1, xmm6
subss xmm1, xmm14
cvttss2si ecx, xmm1
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 3
lea r8d, [rbx + 0x4b]
call fcn.140038760
lea rax, [rbp - 0x48]
lea r8d, [rbx + 0x4b]
movss xmm1, dword [0x140080b44]
movaps xmm0, xmm8
mulss xmm1, xmm7
addss xmm0, dword [0x140080b40]
addss xmm1, xmm6
subss xmm0, dword [0x14004e364]
subss xmm1, xmm14
mov qword [rsp + 0x20], rax
mov r9d, r13d
cvttss2si edx, xmm0
cvttss2si ecx, xmm1
call fcn.140038760
movss xmm1, dword [0x140080b44]
mulss xmm1, xmm7
movaps xmm0, xmm8
addss xmm1, xmm6
addss xmm0, dword [0x140080b40]
addss xmm1, xmm10
subss xmm0, dword [0x14004e360]
lea r8, [0x14007f500]
mov r9, rsi
cvttss2si ecx, xmm1
cvttss2si edx, xmm0
call fcn.140038470
cmp byte [0x140080589], 1
jne 0x14003bf5c
mov eax, dword [0x140080b24]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
cvttss2si edx, xmm13
cvttss2si ecx, dword [rbp + 0x30]
lea rax, [0x14007f550]
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.140038940
movss xmm6, dword [0x14004e214]
cmp byte [rbp + 0x8b0], 0
jne 0x14003c01f
mov eax, dword [0x140080b24]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm9, xmm0
mov eax, dword [0x140080b20]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm8, xmm0
mov eax, dword [0x140080664]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm1, dword [rbp - 0x30]
subss xmm1, xmm0
mulss xmm8, xmm8
mulss xmm9, xmm9
addss xmm8, xmm9
mulss xmm1, xmm1
addss xmm8, xmm1
xorps xmm2, xmm2
sqrtss xmm2, xmm8
mulss xmm2, xmm6
movss xmm0, dword [0x1400570f8]
movss xmm8, dword [0x14004e33c]
mulss xmm0, xmm8
movss xmm11, dword [0x14004eab0]
xor r12d, r12d
comiss xmm2, xmm0
jae 0x14003c034
comiss xmm2, dword [rbp + 0x8c8]
jae 0x14003c034
movss dword [rbp + 0x8c8], xmm2
mov rbx, r14
mov qword [rbp - 0x80], rbx
jmp 0x14003c038
movss xmm11, dword [0x14004eab0]
movss xmm8, dword [0x14004e33c]
xor r12d, r12d
mov rbx, qword [rbp - 0x80]
mov edi, dword [rbp - 0x60]
inc edi
mov dword [rbp - 0x60], edi
add r15, 0x28
mov qword [rbp - 0x10], r15
mov rcx, qword [0x140080c38]
sub rcx, qword [0x140080c30]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edi
cmp rax, rdx
jb 0x14003a6a0
cmp byte [0x1400570e4], 0
je 0x14003c286
test rbx, rbx
je 0x14003c286
mov ecx, dword [0x1400570fc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14003c0be
cmp byte [0x1400570c6], 1
jne 0x14003c286
mov rcx, rbx
call fcn.140039490
jmp 0x14003c286
cmp byte [0x1400570c6], 1
jne 0x14003c286
lea rdx, [rbx + 0x380]
call fcn.140043400
mov ecx, dword [0x1400805fc]
test ecx, ecx
jne 0x14003c0ea
mov dword [0x1400805f8], r13d
jmp 0x14003c119
cmp ecx, 1
jne 0x14003c0fe
mov r13d, 0xf
mov dword [0x1400805f8], r13d
jmp 0x14003c119
cmp ecx, 2
jne 0x14003c112
mov r13d, 1
mov dword [0x1400805f8], r13d
jmp 0x14003c119
mov r13d, dword [0x1400805f8]
mov r8d, r13d
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.140039210
movups xmm0, xmmword [0x140080c00]
movaps xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [0x140080c10]
movaps xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [0x140080c20]
movaps xmmword [rsp + 0x60], xmm0
movsd xmm1, qword [rbp + 0x20]
movsd qword [rbp + 0x10], xmm1
mov eax, dword [rbp + 0x28]
mov dword [rbp + 0x18], eax
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x38]
call fcn.140038ef0
movss xmm6, dword [rbp - 0x34]
movss xmm7, dword [rbp - 0x38]
ucomiss xmm7, xmm15
jne 0x14003c193
ucomiss xmm6, xmm15
jne 0x14003c193
movss xmm0, dword [rbp - 0x30]
ucomiss xmm0, xmm15
je 0x14003c286
mov eax, dword [0x140080b20]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
xorps xmm3, xmm3
cvtsi2sd xmm3, eax
mov eax, dword [0x140080b24]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
cvtps2pd xmm1, xmm6
cvtps2pd xmm0, xmm7
subsd xmm2, xmm0
subsd xmm3, xmm1
mulsd xmm3, xmm3
mulsd xmm2, xmm2
addsd xmm3, xmm2
sqrtpd xmm1, xmm3
movss xmm0, dword [0x1400570f8]
mulss xmm0, xmm8
cvtps2pd xmm0, xmm0
comisd xmm1, xmm0
ja 0x14003c286
mov rdi, qword [0x140080590]
movss xmm0, dword [0x14007f860]
movss dword [rbp - 0x48], xmm0
movss xmm1, dword [0x14007f864]
movss dword [rbp - 0x44], xmm1
movss xmm0, dword [0x14007f868]
movss dword [rbp - 0x40], xmm0
mov dword [rbp - 0x3c], 0x3f800000
lea rcx, [rbp - 0x48]
call fcn.140003220
movss dword [rbp + 0x8b0], xmm7
movss dword [rbp + 0x8b4], xmm6
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x8b8], xmm0
movss dword [rbp + 0x8bc], xmm1
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp + 0x8b0]
lea rdx, [rbp + 0x8b8]
lea rcx, [rdi + 0x1cc8]
call fcn.14001eb10
nop
lea rcx, [rbp + 0xb0]
call fcn.140042e10
lea r11, [rsp + 0x968]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400443f0
int3