Function at 0x140002220
Capabilities:
Log keystrokes via polling

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4e8
vmovapd xmmword [rsp + 0x4d0], xmm15
vmovaps xmmword [rsp + 0x4c0], xmm14
vmovaps xmmword [rsp + 0x4b0], xmm13
vmovapd xmmword [rsp + 0x4a0], xmm12
vmovaps xmmword [rsp + 0x490], xmm11
vmovaps xmmword [rsp + 0x480], xmm10
vmovapd xmmword [rsp + 0x470], xmm9
vmovapd xmmword [rsp + 0x460], xmm8
vmovapd xmmword [rsp + 0x450], xmm7
vmovaps xmmword [rsp + 0x440], xmm6
mov rdi, rcx
mov rax, qword [0x140114500]
xor rax, rsp
mov qword [rsp + 0x438], rax
mov rsi, qword [rcx + 0x50]
mov rbx, qword [rcx + 0x58]
cmp rsi, rbx
je 0x1400022cc
nop
mov rcx, rsi
call fcn.140006000
add rsi, 0x148
cmp rsi, rbx
jne 0x1400022b0
mov rax, qword [rdi + 0x50]
mov qword [rdi + 0x58], rax
mov rax, qword [0x1401145e0]
mov rdx, qword [rax + 0x150]
mov rcx, qword [0x1401145a0]
mov qword [rsp + 0x2f0], 0
lea r8, [rsp + 0x2f0]
mov r9d, 8
call fcn.140099b10
mov edx, 0x910
add rdx, qword [rsp + 0x2f0]
mov rcx, qword [0x1401145a0]
mov qword [rsp + 0x2f0], 0
lea r8, [rsp + 0x2f0]
mov r9d, 8
call fcn.140099b10
mov rdx, qword [rsp + 0x2f0]
mov rcx, qword [0x1401145a0]
add rdx, 0x78
mov qword [rsp + 0x2f0], 0
lea r8, [rsp + 0x2f0]
mov r9d, 8
call fcn.140099b10
mov rsi, qword [rsp + 0x2f0]
test rsi, rsi
je 0x1400043a2
mov rax, qword [0x1401145e0]
mov qword [rax + 0x180], rsi
mov rcx, qword [0x1401145a0]
lea rdx, [rsi + 0x1d8]
mov qword [rsp + 0x2f0], 0
lea r8, [rsp + 0x2f0]
mov r9d, 8
call fcn.140099b10
mov r14, qword [rsp + 0x2f0]
test r14, r14
je 0x1400043a2
mov rcx, qword [0x1401145a0]
add rsi, 0x160
mov qword [rsp + 0x2f0], 0
lea r8, [rsp + 0x2f0]
mov r9d, 8
mov rdx, rsi
call fcn.140099b10
mov rbx, qword [rsp + 0x2f0]
test rbx, rbx
je 0x1400043a2
mov rcx, qword [0x1401145a0]
add r14, 0x38
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rsp + 0x2f0], xmm0
lea r8, [rsp + 0x2f0]
mov r9d, 0x10
mov rdx, r14
call fcn.140099b10
mov rcx, qword [0x1401145a0]
mov rdx, qword [rsp + 0x2f0]
mov qword [rsp + 0x2c0], 0
lea r8, [rsp + 0x2c0]
mov r9d, 8
call fcn.140099b10
mov r12, qword [rsp + 0x2c0]
test r12, r12
je 0x1400043a2
mov rcx, qword [0x1401145a0]
lea rdx, [r12 + 0x30]
mov qword [rsp + 0x2f0], 0
lea r8, [rsp + 0x2f0]
mov r9d, 8
call fcn.140099b10
mov rsi, qword [rsp + 0x2f0]
test rsi, rsi
je 0x1400043a2
mov rax, qword [0x1401145e0]
mov qword [rax + 0x178], rsi
mov rcx, qword [0x1401145a0]
lea rdx, [r12 + 0xd0]
vxorpd xmm8, xmm8, xmm8
vmovapd xmmword [rsp + 0x2f0], xmm8
lea r8, [rsp + 0x2f0]
mov r9d, 0x10
call fcn.140099b10
mov rcx, qword [0x1401145a0]
mov rdx, qword [rsp + 0x2f0]
add rdx, 8
mov qword [rsp + 0x2c0], 0
lea r8, [rsp + 0x2c0]
mov r9d, 8
call fcn.140099b10
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [0x1401145e0]
mov qword [rcx + 0x188], rax
mov rcx, qword [0x1401145a0]
lea rdx, [rbx + 0x2c8]
mov dword [rsp + 0x2f0], 0
lea r8, [rsp + 0x2f0]
mov r9d, 4
call fcn.140099b10
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rsp + 0x2f0]
mov rax, qword [0x1401145e0]
setne byte [rax + 0x148]
mov rcx, qword [0x1401145a0]
mov qword [rsp + 0x80], rsi
lea rdx, [rsi + 0x338]
mov qword [rsp + 0x2f0], 0
lea r8, [rsp + 0x2f0]
mov r9d, 8
call fcn.140099b10
mov rbp, qword [rsp + 0x2f0]
mov rcx, qword [0x1401145a0]
add rbx, 0x2a8
vmovapd xmmword [rsp + 0x240], xmm8
lea r8, [rsp + 0x240]
mov r9d, 0x10
mov rdx, rbx
call fcn.140099b10
cmp dword [rsp + 0x248], 0
je 0x140003ec5
lea rax, [rdi + 0x50]
mov qword [rsp + 0x88], rax
add r12, 0x78
lea rax, [rbp + 0xa68]
mov qword [rsp + 0x98], rax
lea rax, [rbp + 0x2a10]
mov qword [rsp + 0x90], rax
vmovss xmm0, dword [0x1400a4080]
vmovss dword [rsp + 0x44], xmm0
lea rsi, [rsp + 0x2f0]
vmovsd xmm9, qword [0x1400a4088]
vmovss xmm10, dword [0x1400a40a0]
xor r14d, r14d
xor r13d, r13d
xor eax, eax
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x78], r12
jmp 0x140002697
mov rbp, qword [rsp + 0x38]
nop word cs:[rax + rax]
inc r13
mov eax, dword [rsp + 0x248]
add r14, 8
cmp r13, rax
jae 0x140003eda
mov rcx, qword [0x1401145a0]
mov rdx, qword [rsp + 0x240]
add rdx, r14
mov qword [rsp + 0x2f0], 0
mov r9d, 8
mov r8, rsi
call fcn.140099b10
mov rbx, qword [rsp + 0x2f0]
test rbx, rbx
je 0x140002680
mov rcx, qword [0x1401145a0]
lea rdx, [rbx + 0x308]
mov qword [rsp + 0x2f0], 0
mov r9d, 8
mov r8, rsi
call fcn.140099b10
mov r15, qword [rsp + 0x2f0]
test r15, r15
je 0x140002680
mov rcx, qword [0x1401145a0]
cmp r15, rbp
je 0x140002d45
lea rdx, [r15 + 0x198]
mov qword [rsp + 0x2f0], 0
mov r9d, 8
mov r8, rsi
call fcn.140099b10
mov rbp, qword [rsp + 0x2f0]
mov rsi, qword [0x1401145e0]
mov rcx, qword [0x1401145a0]
lea rdx, [rbp + 0x120]
vmovapd xmmword [rsp + 0x220], xmm8
mov qword [rsp + 0x230], 0
mov r9d, 0x18
lea r8, [rsp + 0x220]
call fcn.140099b10
vmovsd xmm0, qword [rsp + 0x220]
vmovsd xmm1, qword [rsp + 0x228]
vsubsd xmm0, xmm0, qword [rsi + 0x118]
vcvtsd2ss xmm0, xmm0, xmm0
vsubsd xmm1, xmm1, qword [rsi + 0x120]
vmulss xmm0, xmm0, xmm0
vcvtsd2ss xmm1, xmm1, xmm1
vmovsd xmm2, qword [rsp + 0x230]
vsubsd xmm2, xmm2, qword [rsi + 0x128]
lea rsi, [rsp + 0x2f0]
vcvtsd2ss xmm2, xmm2, xmm2
vfmadd213ss xmm1, xmm1, xmm0
vfmadd213ss xmm2, xmm2, xmm1
vsqrtss xmm0, xmm2, xmm2
vcvtss2sd xmm0, xmm0, xmm0
vmulsd xmm11, xmm9, xmm0
mov rcx, qword [0x1401145a0]
lea rdx, [rbx + 0x1211]
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov r8, rsi
call fcn.140099b10
mov ecx, dword [rsp + 0x2f0]
mov rax, qword [0x1401145e0]
cmp ecx, dword [rax + 0x158]
sete al
mov dword [rsp + 0x64], ecx
test ecx, ecx
setne cl
and cl, al
mov byte [rsp + 0x34], cl
je 0x140002843
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xd4], 0
je 0x14000266c
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0x758]
mov byte [rsp + 0x2f0], 0
mov r9d, 1
mov r8, rsi
call fcn.140099b10
movzx eax, byte [rsp + 0x2f0]
and al, 0x10
jne 0x14000266c
mov byte [rsp + 0x37], al
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0x982]
mov byte [rsp + 0x2f0], 0
mov r9d, 1
mov r8, rsi
call fcn.140099b10
movzx ecx, byte [rsp + 0x2f0]
and cl, 0x10
je 0x1400028c0
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xd5], 0
je 0x14000266c
mov byte [rsp + 0x36], cl
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0x318]
mov qword [rsp + 0x2f0], 0
mov r9d, 8
mov r8, rsi
call fcn.140099b10
mov r12, qword [rsp + 0x2f0]
test r12, r12
je 0x140003284
mov rcx, qword [0x1401145a0]
lea rdx, [r12 + 0x2f0]
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov r8, rsi
call fcn.140099b10
vmovss xmm0, dword [0x1400a4090]
vaddss xmm6, xmm0, dword [rsp + 0x2f0]
mov rcx, qword [0x1401145a0]
lea rdx, [r12 + 0x2e8]
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov r8, rsi
call fcn.140099b10
vucomiss xmm6, dword [rsp + 0x2f0]
setae byte [rsp + 0x35]
mov rcx, qword [0x1401145e0]
lea rdx, [rsp + 0x200]
mov r8, r12
xor r9d, r9d
call fcn.14009e0c0
mov rcx, qword [0x1401145e0]
lea rdx, [rsp + 0x1e0]
mov qword [rsp + 0x68], r12
mov r8, r12
mov r9d, 0x6e
call fcn.14009e0c0
vmovsd xmm0, qword [0x1400a4098]
vaddsd xmm0, xmm0, qword [rsp + 0x1f0]
vmovsd qword [rsp + 0x1f0], xmm0
mov rcx, qword [0x1401145e0]
vmovaps xmm0, xmmword [rsp + 0x1e0]
vmovaps xmmword [rsp + 0x1b0], xmm0
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x1c0], rax
lea rdx, [rsp + 0x1d0]
lea r8, [rsp + 0x1b0]
call fcn.14009de60
mov rcx, qword [0x1401145e0]
vmovups xmm0, xmmword [rsp + 0x200]
vmovaps xmmword [rsp + 0x180], xmm0
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x190], rax
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x180]
call fcn.14009de60
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x350], ymm0
vmovups ymmword [rsp + 0x3f0], ymm0
vmovups ymmword [rsp + 0x3d0], ymm0
vmovups ymmword [rsp + 0x3b0], ymm0
vmovups ymmword [rsp + 0x390], ymm0
vmovups ymmword [rsp + 0x370], ymm0
vmovups ymmword [rsp + 0x330], ymm0
vmovups ymmword [rsp + 0x310], ymm0
vmovups ymmword [rsp + 0x2f0], ymm0
mov qword [rsp + 0x410], 0
mov qword [rsp + 0x368], 0xf
lea rax, [rsp + 0x370]
vmovapd xmmword [rax], xmm8
mov qword [rax + 0x10], 0
mov qword [rsp + 0x388], 0xf
vmovups ymmword [rax + 0x40], ymm0
vmovups ymmword [rax + 0x20], ymm0
mov qword [rax + 0x60], 0
vmovapd xmmword [rax + 0x80], xmm8
mov qword [rax + 0x90], 0
mov qword [rsp + 0x408], 0xf
vmovupd xmmword [rax + 0xa8], xmm8
mov qword [rax + 0xb8], 0
mov qword [rsp + 0x430], 0xf
mov byte [rsp + 0x3ee], 1
mov rcx, qword [0x1401145e0]
vmovaps xmm0, xmmword [rsp + 0x1d0]
vmovaps xmmword [rsp + 0x170], xmm0
lea rdx, [rsp + 0x170]
vzeroupper
call fcn.14009daf0
test al, al
jne 0x140002b58
mov byte [rsp + 0x3ee], 0
mov rcx, qword [0x1401145e0]
vmovapd xmm0, xmmword [rsp + 0x1a0]
vmovapd xmmword [rsp + 0x160], xmm0
lea rdx, [rsp + 0x160]
call fcn.14009daf0
test al, al
lea rsi, [rsp + 0x270]
jne 0x140002b92
mov byte [rsp + 0x3ee], 0
vmovapd xmmword [rsp + 0x150], xmm8
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xad], 0
je 0x140002be1
mov rcx, qword [0x1401145e0]
mov rdx, qword [rsp + 0x68]
lea r8, [rsp + 0x150]
call fcn.14009e3b0
vmovapd xmm0, xmmword [rsp + 0x150]
lea rax, [rsp + 0x370]
vmovupd xmmword [rax - 0x30], xmm0
mov rax, qword [0x1401145b0]
vxorpd xmm0, xmm0, xmm0
vmovupd ymmword [rsp + 0x2c0], ymm0
mov qword [rsp + 0x2e0], 0
mov qword [rsp + 0x2d8], 0xf
cmp byte [rax + 0xbd], 0
je 0x140003712
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0xa68]
mov qword [rsp + 0x2a0], 0
mov r9d, 8
lea rsi, [rsp + 0x2a0]
mov r8, rsi
vzeroupper
call fcn.140099b10
mov r12, qword [rsp + 0x2a0]
test r12, r12
je 0x140003293
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xc1], 0
je 0x140002ca7
mov rcx, qword [0x1401145a0]
lea rdx, [r12 + 0x398]
mov byte [rsp + 0x2a0], 0
mov r9d, 1
lea r8, [rsp + 0x2a0]
call fcn.140099b10
movzx eax, byte [rsp + 0x2a0]
mov byte [rsp + 0x2e4], al
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xc6], 0
je 0x140002cf5
mov rcx, qword [0x1401145a0]
lea rdx, [r12 + 0xe50]
mov byte [rsp + 0x2a0], 0
mov r9d, 1
lea r8, [rsp + 0x2a0]
call fcn.140099b10
movzx eax, byte [rsp + 0x2a0]
shr al, 5
and al, 1
mov byte [rsp + 0x2e5], al
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xbe], 0
je 0x14000332d
mov rcx, qword [0x1401145a0]
lea rdx, [r12 + 0xeec]
mov dword [rsp + 0x2a0], 0
mov r9d, 4
lea rsi, [rsp + 0x2a0]
mov r8, rsi
call fcn.140099b10
mov eax, dword [rsp + 0x2a0]
mov dword [rsp + 0x2e0], eax
jmp 0x140003335
add rbx, 0x1211
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov rdx, rbx
mov r8, rsi
call fcn.140099b10
mov r15, rsi
mov esi, dword [rsp + 0x2f0]
mov rcx, qword [0x1401145a0]
mov qword [rsp + 0x2f0], 0
mov r9d, 8
mov rdx, qword [rsp + 0x98]
mov r8, r15
call fcn.140099b10
mov rbx, qword [rsp + 0x2f0]
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x10], 0
je 0x140002e12
mov rcx, qword [0x1401145a0]
lea rdx, [rbx + 0x1a78]
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov r8, r15
call fcn.140099b10
vmovss xmm6, dword [rsp + 0x2f0]
mov rcx, qword [0x1401145a0]
lea rdx, [rbx + 0x1ce4]
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov r8, r15
call fcn.140099b10
vmovss xmm7, dword [rsp + 0x2f0]
jmp 0x140002e1a
vxorpd xmm7, xmm7, xmm7
vxorps xmm6, xmm6, xmm6
mov rcx, qword [0x1401145a0]
add rbx, 0x1300
mov byte [rsp + 0x2f0], 0
mov r9d, 1
mov rdx, rbx
mov r8, r15
call fcn.140099b10
movzx ebp, byte [rsp + 0x2f0]
mov rcx, qword [0x1401145a0]
mov qword [rsp + 0x2f0], 0
mov r9d, 8
mov rdx, qword [rsp + 0x90]
mov r8, r15
call fcn.140099b10
mov rbx, qword [rsp + 0x2f0]
mov rax, qword [0x1401145e0]
mov dword [rax + 0x158], esi
vmovss dword [rax + 0x15c], xmm6
vmovss dword [rax + 0x160], xmm7
mov dword [rax + 0x164], 0
mov qword [rax + 0x168], rbx
mov byte [rax + 0x170], bpl
mov dword [rax + 0x171], 0
mov dword [rax + 0x174], 0
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x4a], 0
je 0x140002fa6
movabs rax, 0xffffffffff
cmp rbx, rax
jl 0x140002fa6
movabs rax, 0x2ffffffffff
cmp rbx, rax
jg 0x140002fa6
mov rcx, qword [0x1401145a0]
lea rdx, [rbx + 0x12f0]
mov qword [rsp + 0x2f0], 0
mov r9d, 8
lea r8, [rsp + 0x2f0]
call fcn.140099b10
mov r15, qword [rsp + 0x2f0]
movabs rax, 0xffffffffff
cmp r15, rax
jl 0x140002fa6
movabs rax, 0x2ffffffffff
cmp r15, rax
jg 0x140002fa6
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0x110]
mov dword [rsp + 0x2f0], 0x7f7fffff
mov r9d, 4
lea rsi, [rsp + 0x2f0]
mov r8, rsi
call fcn.140099a50
mov rcx, qword [0x1401145a0]
add r15, 0x280
mov dword [rsp + 0x2f0], 0x7f7fffff
mov r9d, 4
mov rdx, r15
mov r8, rsi
call fcn.140099a50
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x3a], 0
je 0x140003123
movabs rcx, 0xffffffffff
cmp rbx, rcx
mov rbp, qword [rsp + 0x38]
lea rsi, [rsp + 0x2f0]
jl 0x140003130
movabs rcx, 0x2ffffffffff
cmp rbx, rcx
jg 0x140003130
mov rcx, qword [0x1401145a0]
lea rdx, [rbx + 0x2240]
mov qword [rsp + 0x2f0], 0
mov r9d, 8
mov r8, rsi
call fcn.140099b10
mov r15, qword [rsp + 0x2f0]
mov rax, qword [0x1401145b0]
movabs rcx, 0xffffffffff
cmp r15, rcx
jl 0x140003130
movabs rcx, 0x2ffffffffff
cmp r15, rcx
jg 0x140003130
vcvtsi2ss xmm0, xmm3, dword [rax + 0x44]
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0xa08]
vmovss dword [rsp + 0x2f0], xmm0
mov r9d, 4
mov r8, rsi
call fcn.140099a50
mov rax, qword [0x1401145b0]
vcvtsi2ss xmm0, xmm1, dword [rax + 0x40]
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0xa10]
vmovss dword [rsp + 0x2f0], xmm0
mov r9d, 4
mov r8, rsi
call fcn.140099a50
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0xa00]
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov r8, rsi
call fcn.140099a50
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0xa48]
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov r8, rsi
call fcn.140099a50
mov rcx, qword [0x1401145a0]
add r15, 0xa4c
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov rdx, r15
mov r8, rsi
call fcn.140099a50
mov rax, qword [0x1401145b0]
jmp 0x140003130
mov rbp, qword [rsp + 0x38]
lea rsi, [rsp + 0x2f0]
cmp byte [rax + 0x39], 0
jne 0x140003140
cmp byte [rax + 0x4b], 0
je 0x1400033ea
movabs rax, 0xffffffffff
cmp rbx, rax
jl 0x1400033ea
movabs rax, 0x2ffffffffff
cmp rbx, rax
jg 0x1400033ea
mov rcx, qword [0x1401145a0]
lea rdx, [rbx + 0x1b78]
mov qword [rsp + 0x2f0], 0
mov r9d, 8
mov r8, rsi
call fcn.140099b10
mov r15, qword [rsp + 0x2f0]
movabs rax, 0xffffffffff
cmp r15, rax
jl 0x1400033ea
movabs rax, 0x2ffffffffff
cmp r15, rax
jg 0x1400033ea
mov rcx, qword [0x1401145a0]
add rbx, 0xd8c
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov rdx, rbx
mov r8, rsi
call fcn.140099a50
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0x110]
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov r8, rsi
call fcn.140099a50
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x39], 0
je 0x140003248
mov rcx, qword [0x1401145a0]
lea rdx, [r15 + 0xd4]
mov dword [rsp + 0x2f0], 0
mov r9d, 4
mov r8, rsi
call fcn.140099a50
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x4b], 0
je 0x1400033ea
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
add r15, 0x4c0
mov rcx, qword [0x1401145a0]
test ax, ax
js 0x1400033ce
mov dword [rsp + 0x2f0], 0x38d1b717
jmp 0x1400033d9
mov rbp, qword [rsp + 0x38]
mov r12, qword [rsp + 0x78]
jmp 0x140002680
movabs rax, 0xbf29b549cb4cfec7
mov qword [rsp + 0x270], rax
movabs rax, 0x91f91c166607062a
mov qword [rsp + 0x278], rax
movabs rax, 0xd847dc2da7258b85
mov qword [rsp + 0x2a0], rax
movabs rax, 0x91f91c78076b560a
mov qword [rsp + 0x2a8], rax
vmovapd xmm0, xmmword [rsp + 0x270]
vxorpd xmm0, xmm0, xmmword [rsi]
vmovapd xmmword [rsp + 0x270], xmm0
lea rsi, [rsp + 0x270]
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r12, rax
mov rax, qword [rsp + 0x2d8]
cmp rax, r12
jae 0x140003476
lea rcx, [rsp + 0x2c0]
mov rdx, r12
mov r9, rsi
call fcn.140009060
jmp 0x140003712
lea rsi, [rsp + 0x2a0]
mov rcx, qword [0x1401145a0]
add r12, 0x510
mov qword [rsp + 0x2a0], 0
mov r9d, 8
mov rdx, r12
mov r8, rsi
call fcn.140099b10
mov r12, qword [rsp + 0x2a0]
test r12, r12
lea rsi, [rsp + 0x270]
je 0x140003712
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xbf], 0
je 0x1400034b9
mov rcx, qword [0x1401145a0]
lea rdx, [r12 + 0x9a]
mov byte [rsp + 0x2a0], 0
mov r9d, 1
lea rsi, [rsp + 0x2a0]
mov r8, rsi
call fcn.140099b10
movzx eax, byte [rsp + 0x2a0]
mov byte [rsp + 0x2e6], al
jmp 0x1400034c1
mov dword [rsp + 0x2f0], 0xb8d1b717
mov r9d, 4
mov rdx, r15
mov r8, rsi
call fcn.140099a50
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x38], 0
je 0x140002680
mov rcx, qword [0x1401145a0]
mov qword [rsp + 0x2f0], 0
mov r9d, 8
mov rdx, r12
mov r8, rsi
call fcn.140099b10
mov rdx, qword [rsp + 0x2f0]
movabs rax, 0xffffffffff
cmp rdx, rax
jl 0x140002680
movabs rax, 0x2ffffffffff
cmp rdx, rax
jg 0x140002680
mov rcx, qword [0x1401145a0]
add rdx, 0xb0
mov byte [rsp + 0x2f0], 1
mov r9d, 1
mov r8, rsi
call fcn.140099a50
jmp 0x140002680
lea rsi, [rsp + 0x2c0]
cmp rax, 0x10
jb 0x14000348c
mov rsi, qword [rsp + 0x2c0]
mov qword [rsp + 0x2d0], r12
mov rcx, rsi
lea rdx, [rsp + 0x270]
mov r8, r12
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + r12], 0
lea rsi, [rsp + 0x270]
jmp 0x140003712
lea rsi, [rsp + 0x2a0]
mov rcx, qword [0x1401145a0]
add r12, 0x40
mov qword [rsp + 0x2a0], 0
mov r9d, 8
mov rdx, r12
mov r8, rsi
call fcn.140099b10
mov rcx, qword [rsp + 0x2a0]
mov rdx, rsi
call fcn.1400049a0
cmp qword [rsp + 0x2b0], 0
mov r12, rsi
lea rsi, [rsp + 0x270]
jne 0x140003580
movabs rax, 0xbf29b549cb4cfec7
mov qword [rsp + 0x290], rax
movabs rax, 0x91f91c166607062a
mov qword [rsp + 0x298], rax
movabs rax, 0xd847dc2da7258b85
mov qword [rsp + 0x270], rax
movabs rax, 0x91f91c78076b560a
mov qword [rsp + 0x278], rax
mov rax, rsi
vmovapd xmm0, xmmword [rsp + 0x290]
vxorpd xmm0, xmm0, xmmword [rax]
vmovapd xmmword [rsp + 0x290], xmm0
mov rcx, r12
lea rdx, [rsp + 0x290]
call fcn.140004930
movabs rax, 0xd847dc2deb69decb
mov qword [rsp + 0x290], rax
mov rax, rsi
movabs rsi, 0x91f91c78076b560a
mov qword [rsp + 0x298], rsi
mov rcx, r12
movabs r12, 0xd847dc2da7258b85
mov qword [rsp + 0x270], r12
mov qword [rsp + 0x278], rsi
vmovapd xmm0, xmmword [rsp + 0x290]
vxorpd xmm0, xmm0, xmmword [rax]
vmovapd xmmword [rsp + 0x290], xmm0
lea rdx, [rsp + 0x290]
xor r8d, r8d
call fcn.140004f30
cmp rax, 0xffffffffffffffff
je 0x1400036b1
movabs rax, 0xbf29b549cb4cfec7
mov qword [rsp + 0x290], rax
movabs rax, 0x91f91c166607062a
mov qword [rsp + 0x298], rax
mov qword [rsp + 0x270], r12
mov qword [rsp + 0x278], rsi
lea rax, [rsp + 0x270]
vmovapd xmm0, xmmword [rsp + 0x290]
vxorpd xmm0, xmm0, xmmword [rax]
vmovapd xmmword [rsp + 0x290], xmm0
lea rsi, [rsp + 0x290]
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r12, rax
mov rax, qword [rsp + 0x2b8]
cmp rax, r12
jae 0x14000367b
lea rcx, [rsp + 0x2a0]
mov rdx, r12
mov r9, rsi
call fcn.140009060
jmp 0x1400036b1
lea rsi, [rsp + 0x2a0]
cmp rax, 0x10
jb 0x140003691
mov rsi, qword [rsp + 0x2a0]
mov qword [rsp + 0x2b0], r12
mov rcx, rsi
lea rdx, [rsp + 0x290]
mov r8, r12
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + r12], 0
mov rax, qword [rsp + 0x2d8]
cmp rax, 0x10
lea rsi, [rsp + 0x270]
jb 0x140003700
mov rcx, qword [rsp + 0x2c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400036fb
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400045f4
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
vmovupd ymm0, ymmword [rsp + 0x2a0]
vmovupd ymmword [rsp + 0x2c0], ymm0
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xc2], 0
lea r12, [rsp + 0x2a0]
je 0x1400037a1
mov rcx, qword [0x1401145a0]
lea rdx, [rbx + 0x9f0]
mov qword [rsp + 0x2a0], 0
mov r9d, 8
mov r8, r12
vzeroupper
call fcn.140099b10
mov rdx, qword [rsp + 0x2a0]
test rdx, rdx
je 0x1400037a1
mov rcx, qword [0x1401145a0]
add rdx, 0xb8
vmovapd xmmword [rsp + 0x2a0], xmm8
mov qword [rsp + 0x2b0], 0
mov r9d, 0x18
mov r8, r12
call fcn.140099b10
mov eax, dword [rsp + 0x2b0]
mov dword [rsp + 0x3e4], eax
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xc5], 0
je 0x140003812
mov rcx, qword [0x1401145a0]
add rbp, 0x138
vmovapd xmmword [rsp + 0x2a0], xmm8
mov qword [rsp + 0x2b0], 0
mov r9d, 0x18
mov rdx, rbp
mov r8, r12
vzeroupper
call fcn.140099b10
vmovaps xmm0, xmmword [rsp + 0x2a0]
vmovaps xmmword [rsp + 0xa0], xmm0
vmovsd xmm0, qword [rsp + 0x2b0]
vmovsd qword [rsp + 0x70], xmm0
mov rax, qword [0x1401145b0]
jmp 0x140003829
vxorpd xmm0, xmm0, xmm0
vmovapd xmmword [rsp + 0xa0], xmm0
vxorpd xmm0, xmm0, xmm0
vmovsd qword [rsp + 0x70], xmm0
vmovapd xmmword [rsp + 0x2a0], xmm8
mov qword [rsp + 0x2b0], 0
mov qword [rsp + 0x2b8], 0xf
cmp byte [rax + 0xc3], 0
je 0x140003953
mov rsi, qword [0x1401145c0]
mov rcx, rbx
lea r12, [rsp + 0x250]
mov rdx, r12
vzeroupper
call fcn.140005510
mov rcx, rsi
lea rsi, [rsp + 0x270]
mov rdx, rsi
mov r8, r12
call fcn.140004ff0
cmp qword [rsp + 0x288], 0x10
mov r12, rsi
jb 0x1400038a0
mov r12, qword [rsp + 0x270]
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rbp, rax
mov rax, qword [rsp + 0x2b8]
cmp rax, rbp
jae 0x1400038cd
lea rcx, [rsp + 0x2a0]
mov rdx, rbp
mov r9, r12
call fcn.140009060
jmp 0x140003905
lea rsi, [rsp + 0x2a0]
cmp rax, 0x10
jb 0x1400038e3
mov rsi, qword [rsp + 0x2a0]
mov qword [rsp + 0x2b0], rbp
mov rcx, rsi
mov rdx, r12
mov r8, rbp
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbp], 0
lea rsi, [rsp + 0x270]
mov rax, qword [rsp + 0x288]
cmp rax, 0x10
jb 0x14000394c
mov rcx, qword [rsp + 0x270]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003947
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400045f4
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xb6], 0
je 0x1400039db
mov rcx, rbx
mov rdx, rsi
vzeroupper
call fcn.1400058b0
mov rbp, qword [rsp + 0x270]
vmovups xmm13, xmmword [rsp + 0x278]
mov r12, qword [rsp + 0x288]
mov rax, qword [0x1401145b0]
cmp byte [rax + 0xb9], 0
je 0x1400039f1
mov rcx, qword [0x1401145a0]
add rbx, 0x1224
mov dword [rsp + 0x270], 0
mov r9d, 4
mov rdx, rbx
mov r8, rsi
vzeroupper
call fcn.140099b10
mov esi, dword [rsp + 0x270]
cmp esi, 0x33
mov eax, 0
cmovae esi, eax
mov rax, qword [0x1401145b0]
jmp 0x1400039f3
vxorps xmm13, xmm13, xmm13
mov r12d, 0xf
xor ebp, ebp
cmp byte [rax + 0xb9], 0
jne 0x140003993
xor esi, esi
movzx ebx, byte [rsp + 0x34]
cmp byte [rax + 0x10], 0
je 0x140003a99
mov rcx, qword [0x1401145e0]
vcvtsi2sd xmm0, xmm1, dword [rcx + 0x144]
vcvtsi2sd xmm3, xmm1, dword [rcx + 0x140]
vmovsd xmm1, qword [rsp + 0x1d0]
vmovsd xmm2, qword [rsp + 0x1d8]
vmovsd qword [rsp + 0x20], xmm0
vzeroupper
call fcn.14009db30
mov rax, qword [0x1401145b0]
vcvtsi2ss xmm1, xmm4, dword [rax + 0x14]
mov rcx, qword [0x1401145e0]
vmulss xmm1, xmm10, xmm1
vdivss xmm1, xmm1, dword [rcx + 0x130]
vcvtss2sd xmm1, xmm1, xmm1
vucomisd xmm0, xmm1
jae 0x140003a99
vmovss xmm1, dword [rsp + 0x44]
vcvtss2sd xmm1, xmm1, xmm1
vucomisd xmm0, xmm1
jae 0x140003a99
test bl, bl
jne 0x140003a99
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [rsp + 0x44], xmm0
vcvttsd2si ecx, xmm11
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x58], r15
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x50], rcx
cmp byte [rax + 0xae], 0
vmovapd xmm12, xmmword [rsp + 0x1d0]
je 0x140003bc2
mov rcx, qword [0x1401145e0]
vcvtsi2ss xmm0, xmm4, dword [rax + 0x14]
vmulss xmm0, xmm10, xmm0
vdivss xmm0, xmm0, dword [rcx + 0x130]
vaddss xmm1, xmm0, dword [0x1400a40a4]
vaddss xmm0, xmm0, dword [0x1400a40a8]
vcvtdq2pd xmm10, qword [rcx + 0x140]
vcvtss2sd xmm8, xmm0, xmm0
vcvtss2sd xmm14, xmm1, xmm1
vsubpd xmm1, xmm12, xmm10
vshufpd xmm0, xmm1, xmm1, 1
vzeroupper
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
vmovapd xmm6, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
vmovapd xmm7, xmm0
vmovapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
vunpcklpd xmm0, xmm0, xmm7
vmovddup xmm15, xmm8
vfmadd213pd xmm15, xmm0, xmm10
vaddsd xmm7, xmm6, qword [0x1400a40b0]
vmovapd xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
vmovapd xmm8, xmm0
vmovapd xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
vmovapd xmm7, xmm0
vaddsd xmm6, xmm6, qword [0x1400a40b8]
vmovapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
vmovapd xmm9, xmm0
vmovapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
vmovapd xmmword [rsp + 0x390], xmm15
mov qword [rsp + 0x3a0], 0
vunpcklpd xmm1, xmm7, xmm8
vxorpd xmm8, xmm8, xmm8
vmovddup xmm2, xmm14
vfmadd213pd xmm1, xmm2, xmm10
vmovupd xmmword [rsp + 0x3a8], xmm1
mov qword [rsp + 0x3b8], 0
vunpcklpd xmm0, xmm0, xmm9
vfmadd213pd xmm0, xmm2, xmm10
vmovss xmm10, dword [0x1400a40a0]
vmovapd xmmword [rsp + 0x3c0], xmm0
mov qword [rsp + 0x3d0], 0
movzx ecx, byte [rsp + 0x37]
shr cl, 4
movzx edx, byte [rsp + 0x36]
shr dl, 4
vmovaps xmm0, xmmword [rsp + 0x1a0]
vmovaps xmmword [rsp + 0x2f0], xmm0
vmovapd xmmword [rsp + 0x300], xmm12
vmovaps xmm0, xmmword [rsp + 0x1e0]
vmovaps xmmword [rsp + 0x310], xmm0
vmovsd xmm0, qword [rsp + 0x1f0]
vmovsd qword [rsp + 0x320], xmm0
vcvtsd2ss xmm0, xmm11, xmm11
vmovss dword [rsp + 0x3d8], xmm0
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x3dc], eax
mov byte [rsp + 0x3ec], bl
mov byte [rsp + 0x3ea], cl
mov byte [rsp + 0x3eb], dl
movzx eax, byte [rsp + 0x35]
mov byte [rsp + 0x3e8], al
mov rax, qword [rsp + 0x368]
cmp rax, 0x10
jb 0x140003c95
mov rcx, qword [rsp + 0x350]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003c8d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400045f4
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.1400a1ca8
mov qword [rsp + 0x350], rbp
vmovups xmmword [rsp + 0x358], xmm13
mov qword [rsp + 0x368], r12
mov rax, qword [rsp + 0x408]
cmp rax, 0x10
mov r12, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x38]
vmovsd xmm9, qword [0x1400a4088]
jb 0x140003d0a
mov rcx, qword [rsp + 0x3f0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003d02
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400045f4
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.1400a1ca8
vmovupd ymm0, ymmword [rsp + 0x2c0]
lea rdx, [rsp + 0x370]
vmovupd ymmword [rdx + 0x80], ymm0
mov qword [rsp + 0x2d0], 0
mov qword [rsp + 0x2d8], 0xf
mov byte [rsp + 0x2c0], 0
lea rcx, [rsp + 0x2e0]
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rdx + 0xa3], ecx
mov dword [rdx + 0xa0], eax
mov rax, qword [rsp + 0x388]
cmp rax, 0x10
jb 0x140003da6
mov rcx, qword [rsp + 0x370]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003d9e
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400045f4
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.1400a1ca8
vmovups ymm0, ymmword [rsp + 0x2a0]
lea rax, [rsp + 0x370]
vmovups ymmword [rax], ymm0
mov qword [rsp + 0x2b0], 0
mov qword [rsp + 0x2b8], 0xf
mov byte [rsp + 0x2a0], 0
mov dword [rsp + 0x3e0], esi
vmovaps xmm0, xmmword [rsp + 0xa0]
vmovups xmmword [rsp + 0x328], xmm0
vmovsd xmm0, qword [rsp + 0x70]
vmovsd qword [rsp + 0x338], xmm0
mov r8, qword [rdi + 0x58]
mov rcx, qword [rsp + 0x88]
lea rdx, [rsp + 0x270]
lea rsi, [rsp + 0x2f0]
mov r9, rsi
vzeroupper
call fcn.140009240
mov rax, qword [rsp + 0x2b8]
cmp rax, 0x10
jb 0x140003e71
mov rcx, qword [rsp + 0x2a0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003e6c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400045f4
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov rax, qword [rsp + 0x2d8]
cmp rax, 0x10
jb 0x140003eb8
mov rcx, qword [rsp + 0x2c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003eb3
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400045f4
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov rcx, rsi
call fcn.140006000
jmp 0x140002680
xor eax, eax
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x50], rax
vmovups xmm0, xmmword [rdi + 0x58]
vmovupd xmm1, xmmword [rdi + 0x68]
vbroadcastsd ymm2, qword [rdi + 0x78]
vmovups xmmword [rdi + 0x70], xmm0
vblendpd ymm0, ymm1, ymm2, 4
vbroadcastsd ymm1, qword [rdi + 0x50]
vblendpd ymm0, ymm0, ymm1, 8
vmovupd ymmword [rdi + 0x50], ymm0
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x10], 0
je 0x1400043a2
mov rdi, qword [rsp + 0x58]
test rdi, rdi
mov rsi, qword [rsp + 0x50]
je 0x14000438f
test rsi, rsi
je 0x14000438f
cmp byte [rax + 0x1d], 0
mov rbx, qword [rsp + 0x80]
je 0x140003f5b
mov rcx, rsi
vzeroupper
call fcn.140004890
test al, al
je 0x14000438f
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x1c], 0
je 0x140003f88
mov rcx, rdi
vzeroupper
call fcn.140004830
mov rcx, qword [0x1401145e0]
test al, al
je 0x140003f91
vxorpd xmm0, xmm0, xmm0
vmovupd ymmword [rcx + 0x1a8], ymm0
jmp 0x1400043a2
mov rcx, qword [0x1401145e0]
jmp 0x140003f98
mov rax, qword [0x1401145b0]
mov edx, dword [rax + 0xc]
vzeroupper
call fcn.14009de40
mov rcx, qword [0x1401145e0]
lea rdx, [rsp + 0x2c0]
mov r8, rsi
mov r9d, eax
call fcn.14009e0c0
mov rcx, qword [0x1401145e0]
vmovaps xmm0, xmmword [rsp + 0x2c0]
vmovaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x140], rax
lea rdx, [rsp + 0x200]
lea r8, [rsp + 0x130]
call fcn.14009de60
mov rcx, qword [0x1401145e0]
vmovapd xmm0, xmmword [rsp + 0x200]
vmovapd xmmword [rsp + 0x120], xmm0
lea rdx, [rsp + 0x120]
call fcn.14009daf0
test al, al
je 0x14000438f
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x49], 0
je 0x140004120
mov ecx, dword [rax + 0x30]
call qword [sym.imp.USER32.dll_GetKeyState]
mov rcx, qword [0x1401145e0]
cmp qword [rcx + 0x168], 0
je 0x140004120
test ax, ax
jns 0x140004120
lea rdx, [rsp + 0x2a0]
mov r8, rsi
xor r9d, r9d
call fcn.14009e0c0
mov rax, qword [0x1401145e0]
mov rcx, qword [0x1401145a0]
mov edx, 0x198
add rdx, qword [rax + 0x168]
mov qword [rsp + 0x2f0], 0
lea r8, [rsp + 0x2f0]
mov r9d, 8
call fcn.140099b10
mov rdx, qword [rsp + 0x2f0]
movabs rax, 0xffffffffff
cmp rdx, rax
jl 0x140004120
movabs rax, 0x2ffffffffff
cmp rdx, rax
jg 0x140004120
vmovsd xmm0, qword [rsp + 0x2b0]
vmovapd xmm1, xmmword [rsp + 0x2a0]
vaddpd xmm1, xmm1, xmmword [0x1400a40c0]
mov rcx, qword [0x1401145a0]
vmovapd xmmword [rsp + 0x2f0], xmm1
vmovsd qword [rsp + 0x300], xmm0
add rdx, 0x1e0
lea r8, [rsp + 0x2f0]
mov r9d, 0x18
call fcn.140099a50
mov rcx, qword [0x1401145e0]
vmovaps xmm1, xmmword [rsp + 0x200]
vmovsd xmm2, qword [rsp + 0x208]
vmovups xmmword [rcx + 0x1b8], xmm1
movzx esi, byte [rcx + 0x170]
vxorpd xmm0, xmm0, xmm0
vmovupd ymmword [rsp + 0x2f0], ymm0
vmovupd ymmword [rsp + 0x320], ymm0
vmovupd ymmword [rsp + 0x310], ymm0
mov qword [rsp + 0x308], 0xf
vxorps xmm6, xmm6, xmm6
vmovups xmmword [rsp + 0x318], xmm6
mov qword [rsp + 0x328], 0
vmovupd ymmword [rsp + 0x340], ymm0
vmovupd ymmword [rsp + 0x350], ymm0
mov byte [rsp + 0x310], sil
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x256], 0
je 0x140004441
mov rcx, qword [0x1401145a0]
add rdi, 0x198
mov qword [rsp + 0x2a0], 0
lea r8, [rsp + 0x2a0]
mov r9d, 8
mov rdx, rdi
vzeroupper
call fcn.140099b10
mov edx, 0x168
add rdx, qword [rsp + 0x2a0]
mov rcx, qword [0x1401145a0]
vmovaps xmmword [rsp + 0x2a0], xmm6
mov qword [rsp + 0x2b0], 0
lea r8, [rsp + 0x2a0]
mov r9d, 0x18
call fcn.140099b10
mov rcx, qword [0x1401145e0]
cmp esi, 0x21
ja 0x140004423
mov eax, esi
movabs rdx, 0x251b015d2
bt rdx, rax
jae 0x140004423
vmovss xmm0, dword [rcx + 0x15c]
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
je 0x140004423
vmovapd xmm1, xmmword [rsp + 0x2c0]
vmovsd xmm2, qword [rsp + 0x2d0]
vsubsd xmm3, xmm1, qword [rcx + 0x118]
vcvtsd2ss xmm3, xmm3, xmm3
vmulss xmm3, xmm3, xmm3
vmovsd xmm4, qword [rsp + 0x2c8]
vsubsd xmm4, xmm4, qword [rcx + 0x120]
vcvtsd2ss xmm4, xmm4, xmm4
vsubsd xmm5, xmm2, qword [rcx + 0x128]
vfmadd213ss xmm4, xmm4, xmm3
vcvtsd2ss xmm3, xmm5, xmm5
vfmadd213ss xmm3, xmm3, xmm4
vsqrtss xmm3, xmm3, xmm3
vmovss xmm4, dword [rcx + 0x160]
vmovss dword [rsp + 0x334], xmm0
vmovss dword [rsp + 0x330], xmm4
vmovaps xmm0, xmmword [rsp + 0x2a0]
vmovups xmmword [rsp + 0x318], xmm0
vmovsd xmm0, qword [rsp + 0x2b0]
vmovsd qword [rsp + 0x328], xmm0
vmovss dword [rsp + 0x33c], xmm3
vmovapd xmmword [rsp + 0x340], xmm1
vmovsd qword [rsp + 0x350], xmm2
mov rcx, qword [0x140114600]
lea rdx, [rsp + 0x270]
lea r8, [rsp + 0x2f0]
call fcn.140093680
mov rcx, qword [0x1401145e0]
vmovups xmm0, xmmword [rsp + 0x270]
vmovaps xmmword [rsp + 0x100], xmm0
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x110], rax
lea rdx, [rsp + 0x1e0]
lea r8, [rsp + 0x100]
call fcn.14009de60
vmovapd xmm0, xmmword [rsp + 0x1e0]
vmovapd xmmword [rsp + 0x200], xmm0
mov rcx, qword [0x1401145e0]
vmovupd xmmword [rcx + 0x1a8], xmm0
jmp 0x14000442f
mov rax, qword [0x1401145e0]
vxorpd xmm0, xmm0, xmm0
vmovupd ymmword [rax + 0x1a8], ymm0
mov rcx, qword [rsp + 0x438]
xor rcx, rsp
vzeroupper
call fcn.1400a1e40
vmovaps xmm6, xmmword [rsp + 0x440]
vmovaps xmm7, xmmword [rsp + 0x450]
vmovaps xmm8, xmmword [rsp + 0x460]
vmovaps xmm9, xmmword [rsp + 0x470]
vmovaps xmm10, xmmword [rsp + 0x480]
vmovaps xmm11, xmmword [rsp + 0x490]
vmovaps xmm12, xmmword [rsp + 0x4a0]
vmovaps xmm13, xmmword [rsp + 0x4b0]
vmovaps xmm14, xmmword [rsp + 0x4c0]
vmovaps xmm15, xmmword [rsp + 0x4d0]
add rsp, 0x4e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
vxorpd xmm0, xmm0, xmm0
vmovupd xmmword [rcx + 0x1a8], xmm0
vmovsd xmm1, qword [rsp + 0x200]
vmovsd xmm2, qword [rsp + 0x208]
mov rax, qword [0x140114650]
vcvtsi2sd xmm0, xmm12, dword [rax + 0xdc]
vcvtsi2sd xmm3, xmm12, dword [rax + 0xd8]
vmovsd qword [rsp + 0x20], xmm0
vzeroupper
call fcn.14009db30
mov rax, qword [0x1401145b0]
vcvtsi2ss xmm1, xmm12, dword [rax + 0x14]
mov rcx, qword [0x1401145e0]
vmulss xmm1, xmm1, dword [0x1400a40a0]
vdivss xmm1, xmm1, dword [rcx + 0x130]
vcvtss2sd xmm1, xmm1, xmm1
vucomisd xmm0, xmm1
ja 0x1400045e2
mov ecx, dword [rax + 8]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400045e2
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x1f], 0
je 0x1400044d8
movzx ecx, byte [rsp + 0x310]
cmp rcx, 0x21
ja 0x1400044d8
movabs rdx, 0x202022009
bt rdx, rcx
jb 0x1400045e2
mov rcx, qword [0x140114628]
movzx r8d, byte [rax + 0x1e]
vmovaps xmm0, xmmword [rsp + 0x200]
vmovaps xmmword [rsp + 0xf0], xmm0
lea rdx, [rsp + 0xf0]
call fcn.14000b220
mov rax, qword [0x1401145b0]
cmp byte [rax + 0x20], 0
je 0x1400045e2
mov rsi, qword [0x1401145e0]
vmovaps xmm0, xmmword [rsp + 0x2c0]
vmovaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0xe0], rax
mov rcx, qword [0x1401145a0]
add rbx, 0x26a0
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
lea rdi, [rsp + 0xb0]
mov r9d, 0x18
mov rdx, rbx
mov r8, rdi
call fcn.140099b10
lea r8, [rsp + 0xd0]
mov rcx, rsi
mov rdx, rdi
call fcn.14009db60
test al, al
je 0x1400045e2
mov rax, qword [0x1401145b0]
mov rcx, qword [rsp + 0x48]
cmp ecx, dword [rax + 0x28]
jg 0x1400045e2
cmp byte [rax + 0x2c], 0
je 0x1400045bd
movzx eax, byte [rsp + 0x310]
cmp eax, 0xb
je 0x1400045bd
cmp eax, 2
jne 0x1400045e2
mov rcx, qword [0x140114628]
call fcn.14000ae70
mov qword [rsp + 0x2a0], 1
lea rcx, [rsp + 0x2a0]
call fcn.140004600
lea rcx, [rsp + 0x2f0]
call fcn.140006190
jmp 0x1400043a2
vzeroupper
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3