Function at 0x180003200
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x178]
sub rsp, 0x250
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x180064040]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov rax, qword [0x1800644a8]
sub rax, qword [0x1800644a0]
sar rax, 3
test rax, rax
je 0x1800041d8
xor esi, esi
mov edi, esi
mov qword [rsp + 0x30], rsi
xorps xmm8, xmm8
movups xmmword [rbp - 0x70], xmm8
xor eax, eax
mov qword [rsp + 0x70], rax
xorps xmm12, xmm12
xorps xmm15, xmm15
xorps xmm9, xmm9
movss dword [rsp + 0x3c], xmm9
xorps xmm10, xmm10
movss dword [rsp + 0x40], xmm10
xorps xmm11, xmm11
movss dword [rsp + 0x78], xmm11
xorps xmm6, xmm6
movss dword [rsp + 0x7c], xmm6
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov dword [rsp + 0x38], eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r8d, eax
mov dword [rsp + 0x44], eax
mov dword [rbp - 0x80], esi
mov rcx, qword [0x1800644a8]
sub rcx, qword [0x1800644a0]
sar rcx, 3
movabs r14, 0xffffff0000000001
movabs r13, 0x20000000000
xorps xmm13, xmm13
test rcx, rcx
je 0x180003ddf
mov r12d, esi
mov qword [rbp - 0x78], rsi
mov ecx, esi
movss xmm14, dword [0x18005b2e0]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x1800644a8]
mov rdx, qword [0x1800644a0]
sub rax, rdx
sar rax, 3
cmp rcx, rax
jae 0x180003dd0
mov r12, qword [rdx + r12*8]
test r12, r12
je 0x180003d9f
lea rax, [r12 + r14]
cmp rax, r13
ja 0x180003d9f
mov rcx, qword [r12 + 0x1a8]
lea rax, [rcx + r14]
cmp rax, r13
ja 0x180003d9f
test rcx, rcx
je 0x180003d9f
mov rcx, qword [0x180064ce0]
test rcx, rcx
je 0x180003d9f
mov rcx, qword [rcx + 0x1d8]
lea rax, [rcx + r14]
cmp rax, r13
ja 0x180003d9f
test rcx, rcx
je 0x180003d9f
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x180004240
cmp dword [rcx + 0x40], 0
jle 0x180004240
mov rdx, qword [rax]
test rdx, rdx
je 0x180003d9f
cmp dword [rcx + 0x40], 0
jle 0x1800042b0
mov rdi, qword [rdx + 0x30]
test rdi, rdi
je 0x180003fbc
mov qword [0x180064ce8], rdi
mov rax, qword [rdi + 0x2f0]
test rax, rax
je 0x180003fbc
mov qword [0x180064cf8], rax
mov rax, qword [r12 + 0x190]
mov r15, qword [rax + 0x2d8]
mov r8, qword [rdi + 0x358]
test r8, r8
je 0x180003fbc
lea rax, [r8 + r14]
cmp rax, r13
ja 0x180003fbc
add r8, 0x1410
movsd xmm0, qword [r8]
ucomisd xmm0, xmm13
jp 0x18000348e
jne 0x18000348e
movsd xmm0, qword [r8 + 8]
ucomisd xmm0, xmm13
jp 0x18000348e
jne 0x18000348e
movsd xmm0, qword [r8 + 0x10]
ucomisd xmm0, xmm13
jp 0x18000348e
je 0x180003fbc
mov rdx, r12
call fcn.18004c540
movzx r14d, al
call fcn.18004d190
mov r8, rax
test rax, rax
je 0x18000357d
cmp byte [0x180064d11], 0
je 0x1800034cb
mov rcx, qword [rax + 0x320]
mov rdx, qword [rcx + 0x2e0]
mov ecx, dword [0x1800640b8]
mov dword [rdx + 0x78], ecx
cmp byte [0x180064d13], 0
je 0x180003509
movd xmm0, dword [0x180064d0c]
cvtdq2ps xmm0, xmm0
mov rax, qword [rax + 0x320]
mov rcx, qword [rax + 0x2e0]
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x18000425c
cmp dword [rcx + 0x38], 0
jle 0x18000425c
movss dword [rax + 0x18], xmm0
cmp byte [0x180064d12], 0
je 0x180003527
mov rax, qword [r8 + 0x318]
mov rcx, qword [rax + 0x140]
mov dword [rcx + 0x48], 0x64
cmp byte [0x180064d0a], 0
je 0x180003558
mov rax, qword [r8 + 0x320]
mov rcx, qword [rax + 0x2e0]
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x180004278
cmp dword [rcx + 0x38], 0
jle 0x180004278
mov byte [rax], 2
cmp byte [0x180064d19], 0
je 0x18000357d
mov rax, qword [r8 + 0x320]
mov rcx, qword [rax + 0x2e0]
mov rax, qword [rcx + 0x138]
mov dword [rax + 0x2c], 0x495bba00
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rax
xorps xmm1, xmm1
movups xmmword [rbp + 0x90], xmm1
mov qword [rbp + 0xa0], rax
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm1
lea r9, [rbp + 0x90]
lea r8, [rbp - 0x20]
mov rcx, r12
call fcn.18004b560
movsd xmm4, qword [rbp - 0x20]
movaps xmm0, xmm4
addsd xmm0, xmm13
movsd qword [rbp + 8], xmm0
movsd xmm3, qword [rbp - 0x18]
movaps xmm1, xmm3
addsd xmm1, xmm13
movsd qword [rbp + 0x10], xmm1
movsd xmm2, qword [rbp - 0x10]
movaps xmm0, xmm2
addsd xmm0, qword [rbp + 0xa0]
movsd qword [rbp + 0x18], xmm0
subsd xmm4, xmm13
movsd qword [rsp + 0x60], xmm4
subsd xmm3, xmm13
movsd qword [rsp + 0x68], xmm3
subsd xmm2, qword [rbp + 0xa0]
movsd qword [rsp + 0x70], xmm2
lea r8, [rsp + 0x50]
lea rdx, [rbp + 8]
mov rcx, qword [0x180064ce8]
call fcn.18004c860
test al, al
je 0x180003d90
lea r8, [rbp + 0x60]
lea rdx, [rsp + 0x60]
mov rcx, qword [0x180064ce8]
call fcn.18004c860
test al, al
je 0x180003d90
mov r13, qword [r12 + 0x328]
mov rcx, r12
call fcn.18004ce90
mov rbx, rax
movss xmm0, dword [0x18005b3e4]
test rax, rax
je 0x180003673
movss xmm0, dword [rax + 0x74]
comiss xmm12, xmm0
setae sil
cmp byte [0x180064d06], 0
je 0x180003b02
cmp rdi, r15
je 0x180003b02
test sil, sil
jne 0x180003b02
movaps xmm6, xmm12
movaps xmm7, xmm12
mov ecx, dword [0x180064d30]
test ecx, ecx
je 0x1800036cf
sub ecx, 1
je 0x1800036c1
cmp ecx, 1
jne 0x1800036dd
movd xmm7, dword [rsp + 0x44]
cvtdq2ps xmm7, xmm7
jmp 0x1800036cf
movd xmm7, dword [rsp + 0x44]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm14
movd xmm6, dword [rsp + 0x38]
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm14
movsd xmm10, qword [rsp + 0x58]
movsd xmm9, qword [rsp + 0x50]
test r14b, r14b
jne 0x180003735
cmp byte [0x180064d07], r14b
je 0x1800037b1
movups xmm0, xmmword [0x180064470]
movdqa xmmword [rsp + 0x50], xmm0
lea r9, [rsp + 0x50]
lea rdx, [rbp + 0x90]
lea rcx, [rbp - 0x20]
call fcn.1800021a0
cmp byte [0x180064d10], r14b
je 0x1800037b1
movups xmm0, xmmword [0x180064470]
jmp 0x180003770
cmp byte [0x180064d04], 0
je 0x1800037b1
movups xmm0, xmmword [0x1800644d8]
movdqa xmmword [rsp + 0x50], xmm0
lea r9, [rsp + 0x50]
lea rdx, [rbp + 0x90]
lea rcx, [rbp - 0x20]
call fcn.1800021a0
cmp byte [0x180064d10], 0
je 0x1800037b1
movups xmm0, xmmword [0x1800644d8]
movdqa xmmword [rsp + 0x50], xmm0
movss xmm0, dword [0x18005b318]
movss dword [rsp + 0x20], xmm0
cvtpd2ps xmm1, xmm9
cvtpd2ps xmm2, xmm10
movaps xmm0, xmm1
unpcklps xmm0, xmm2
movaps xmm1, xmm6
movq rdx, xmm0
unpcklps xmm1, xmm7
movaps xmm0, xmm1
lea r8, [rsp + 0x50]
movq rcx, xmm1
call fcn.180002080
cmp byte [0x180064d08], 0
je 0x1800037d1
movups xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rsp + 0x50], xmm0
lea r9, [rsp + 0x50]
mov rcx, r13
call fcn.180002d90
movzx eax, byte [0x180064d09]
movzx ecx, byte [0x180064d05]
test cl, cl
jne 0x1800037eb
test al, al
je 0x180003af4
test rbx, rbx
je 0x180003af4
movsd xmm11, qword [rbp + 0x68]
test cl, cl
je 0x180003968
movss xmm8, dword [rbx + 0x74]
movss xmm7, dword [rbx + 0x84]
movaps xmm0, xmm10
subsd xmm0, xmm11
andps xmm0, xmmword [0x18005b800]
cvtpd2ps xmm6, xmm0
movups xmm0, xmmword [0x180064518]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x60]
call fcn.180006920
movaps xmm0, xmm9
subsd xmm0, qword [0x18005b360]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x60], xmm0
movaps xmm1, xmm11
addsd xmm1, qword [0x18005b340]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x5c], xmm0
movd xmm2, dword [0x1800640b4]
cvtdq2pd xmm2, xmm2
movaps xmm1, xmm9
subsd xmm1, xmm2
subsd xmm1, qword [0x18005b360]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x58], xmm0
movaps xmm1, xmm10
subsd xmm1, qword [0x18005b340]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x54], xmm0
mov dword [rsp + 0x28], 0xf
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x58]
mov rcx, qword [0x180064d38]
call fcn.180025800
movups xmm0, xmmword [0x180064578]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x60]
call fcn.180006920
movaps xmm0, xmm9
subsd xmm0, qword [0x18005b358]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x50], xmm0
cvtpd2ps xmm1, xmm11
movss dword [rbp - 0x4c], xmm1
movd xmm0, dword [0x1800640b4]
cvtdq2pd xmm0, xmm0
movaps xmm2, xmm9
subsd xmm2, xmm0
subsd xmm2, qword [0x18005b358]
cvtpd2ps xmm0, xmm2
movss dword [rbp - 0x48], xmm0
divss xmm8, xmm7
mulss xmm8, xmm6
cvtps2pd xmm0, xmm8
movaps xmm1, xmm11
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x44], xmm0
mov dword [rsp + 0x28], 0xf
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x48]
mov rcx, qword [0x180064d38]
call fcn.180025800
movzx eax, byte [0x180064d09]
test al, al
je 0x180003aed
movss xmm8, dword [rbx + 0x234]
movss xmm7, dword [rbx + 0x244]
movaps xmm0, xmm10
subsd xmm0, xmm11
andps xmm0, xmmword [0x18005b800]
cvtpd2ps xmm6, xmm0
movups xmm0, xmmword [0x180064518]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x60]
call fcn.180006920
mov ecx, dword [0x1800640b4]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm9
subsd xmm1, xmm0
subsd xmm1, qword [0x18005b368]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x40], xmm0
movaps xmm1, xmm11
addsd xmm1, qword [0x18005b340]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x3c], xmm0
add ecx, ecx
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movaps xmm0, xmm9
subsd xmm0, xmm1
subsd xmm0, qword [0x18005b368]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x38], xmm0
subsd xmm10, qword [0x18005b340]
cvtpd2ps xmm0, xmm10
movss dword [rbp - 0x34], xmm0
mov dword [rsp + 0x28], 0xf
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x38]
mov rcx, qword [0x180064d38]
call fcn.180025800
movups xmm0, xmmword [0x180064558]
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x60]
call fcn.180006920
mov ecx, dword [0x1800640b4]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm9
subsd xmm1, xmm0
subsd xmm1, qword [0x18005b360]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x30], xmm0
cvtpd2ps xmm1, xmm11
movss dword [rbp - 0x2c], xmm1
add ecx, ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm9, xmm0
subsd xmm9, qword [0x18005b360]
cvtpd2ps xmm0, xmm9
movss dword [rbp - 0x28], xmm0
divss xmm8, xmm7
mulss xmm8, xmm6
cvtps2pd xmm0, xmm8
subsd xmm11, xmm0
cvtpd2ps xmm0, xmm11
movss dword [rbp - 0x24], xmm0
mov dword [rsp + 0x28], 0xf
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x28]
mov rcx, qword [0x180064d38]
call fcn.180025800
movss xmm11, dword [rsp + 0x78]
movss xmm10, dword [rsp + 0x40]
movss xmm9, dword [rsp + 0x3c]
cmp byte [0x180064d1b], 0
je 0x180003d81
cmp rdi, r15
je 0x180003d81
test sil, sil
jne 0x180003d81
test r14b, r14b
jne 0x180003b33
cmp byte [0x180064d18], r14b
jne 0x180003d81
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
lea rdx, [rbp + 0x60]
mov rcx, r13
call fcn.18004af30
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], rax
xorps xmm7, xmm7
mov qword [rsp + 0x70], rax
mov rax, qword [0x180064ce8]
lea rdx, [rbp + 8]
mov rcx, qword [rax + 0x358]
call fcn.18004cb80
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
xor esi, esi
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], rsi
xor r8d, r8d
lea rdx, [0x180050708]
lea rcx, [rbp + 0x70]
call fcn.180004730
nop
mov eax, dword [0x180064cf0]
test eax, eax
jne 0x180003bbc
mov r8d, 4
lea rdx, str.Head
jmp 0x180003be2
cmp eax, 1
jne 0x180003bd0
mov r8d, 7
lea rdx, str.neck_01
jmp 0x180003be2
cmp eax, 2
jne 0x180003beb
mov r8d, 8
lea rdx, str.spine_03
lea rcx, [rbp + 0x70]
call fcn.1800043d0
mov eax, dword [rsp + 0x38]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp - 8], xmm0
mov eax, dword [rsp + 0x44]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rbp], xmm0
mov ebx, esi
mov rdi, rsi
mov r14d, dword [rbp + 0x68]
test r14d, r14d
jle 0x180003cff
mov r15, qword [rbp + 0x60]
nop dword [rax]
test r15, r15
je 0x180004294
test rdi, rdi
js 0x180004294
cmp ebx, r14d
jge 0x180004294
mov rax, qword [r15 + rdi*8]
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x58]
call fcn.180001e90
mov rcx, rax
lea r9, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova r9, qword [rbp + 0x70]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180003c82
mov rcx, qword [rax]
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x20], rax
call fcn.1800018c0
mov rsi, rax
mov rdx, qword [rbp + 0x38]
cmp rdx, 0xf
jbe 0x180003cd1
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003ccc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003fc6
call fcn.18004d8e4
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
cmp rsi, 0xffffffffffffffff
jne 0x180003e6b
inc ebx
inc rdi
cmp ebx, r14d
jl 0x180003c30
xor esi, esi
movsd xmm6, qword [rsp + 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x90]
mov rcx, qword [0x180064ce8]
call fcn.18004c860
test al, al
jne 0x180003eb6
mov rdx, qword [rbp + 0x88]
cmp rdx, 0xf
jbe 0x180003d6b
inc rdx
mov rcx, qword [rbp + 0x70]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180003d66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003fcd
call fcn.18004d8e4
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
movups xmm8, xmmword [rbp - 0x70]
movabs r13, 0x20000000000
mov rdi, qword [rsp + 0x30]
movabs r14, 0xffffff0000000001
mov eax, dword [rbp - 0x80]
inc eax
mov dword [rbp - 0x80], eax
mov r12, qword [rbp - 0x78]
inc r12
mov qword [rbp - 0x78], r12
movsxd rcx, eax
mov rax, qword [0x1800644a8]
sub rax, qword [0x1800644a0]
sar rax, 3
cmp rcx, rax
jb 0x180003350
mov r8d, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x38]
movss xmm6, dword [rsp + 0x7c]
cmp byte [0x180064d1b], 0
je 0x1800041d8
cmp byte [0x180064d1a], 0
je 0x180003fd4
movups xmm0, xmmword [0x1800645b8]
movdqa xmmword [rbp + 0x60], xmm0
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x78], xmm0
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x74], xmm0
lea rcx, [rbp + 0x60]
call fcn.180006920
mov r9d, eax
movss xmm7, dword [0x18005b318]
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 0x50
movss xmm2, dword [0x180064d14]
lea rdx, [rbp - 0x78]
mov rcx, qword [0x180064d38]
call fcn.180025cc0
jmp 0x180003fdc
mov r8, qword [rbp + 0x58]
lea rdx, [rsp + 0x60]
mov rcx, r13
call fcn.18004b240
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x90], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0xa0], xmm1
lea r8, [rbp + 0x90]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x40]
call fcn.18004bbb0
movups xmm7, xmmword [rax]
movsd xmm6, qword [rax + 0x10]
xor esi, esi
jmp 0x180003d05
lea rdx, [rbp - 8]
lea rcx, [rsp + 0x50]
call fcn.18004b8a0
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss dword [0x180064d00], xmm2
movss xmm1, dword [0x180064d14]
comiss xmm1, xmm2
jb 0x180003f53
comiss xmm15, xmm12
jbe 0x180003ef0
comiss xmm2, xmm15
ja 0x180003d2d
mov rdi, r12
mov qword [rsp + 0x30], r12
movups xmm8, xmm7
movups xmmword [rbp - 0x70], xmm7
movsd qword [rsp + 0x70], xmm6
movsd xmm9, qword [rbp - 8]
cvtpd2ps xmm9, xmm9
movss dword [rsp + 0x3c], xmm9
movsd xmm10, qword [rbp]
cvtpd2ps xmm10, xmm10
movss dword [rsp + 0x40], xmm10
movsd xmm11, qword [rsp + 0x50]
cvtpd2ps xmm11, xmm11
movss dword [rsp + 0x78], xmm11
movsd xmm0, qword [rsp + 0x58]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x7c], xmm0
movaps xmm15, xmm2
jmp 0x180003f5d
movups xmm8, xmmword [rbp - 0x70]
mov rdi, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x88]
cmp rdx, 0xf
jbe 0x180003f97
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003f92
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003fcd
call fcn.18004d8e4
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
movabs r13, 0x20000000000
jmp 0x180003d95
mov rdi, qword [rsp + 0x30]
jmp 0x180003d9f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movss xmm7, dword [0x18005b318]
test rdi, rdi
je 0x1800041d8
lea rax, [rdi + r14]
cmp rax, r13
ja 0x1800041d8
cmp byte [0x180064d20], 0
je 0x18000402f
movups xmm0, xmmword [0x180064ef0]
movdqa xmmword [rbp + 0x60], xmm0
movss dword [rsp + 0x20], xmm7
lea r8, [rbp + 0x60]
movaps xmm0, xmm11
unpcklps xmm0, xmm6
movq rdx, xmm0
movaps xmm1, xmm9
unpcklps xmm1, xmm10
movq rcx, xmm1
call fcn.180002080
mov ecx, 2
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1800041d8
lea rdx, [rsp + 0x60]
call fcn.18004c220
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
movss xmm3, dword [0x18005b480]
movss xmm2, dword [0x18005b3f4]
comiss xmm0, xmm2
jbe 0x180004079
nop word [rax + rax]
addss xmm0, xmm3
comiss xmm0, xmm2
ja 0x180004070
movss xmm1, dword [0x18005b47c]
movss xmm4, dword [0x18005b400]
comiss xmm1, xmm0
jbe 0x180004099
nop
addss xmm0, xmm4
comiss xmm1, xmm0
ja 0x180004090
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
unpckhpd xmm8, xmm8
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
comiss xmm0, xmm2
jbe 0x1800040bb
addss xmm0, xmm3
comiss xmm0, xmm2
ja 0x1800040b2
comiss xmm1, xmm0
jbe 0x1800040c9
addss xmm0, xmm4
comiss xmm1, xmm0
ja 0x1800040c0
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
movss xmm5, dword [0x180064d1c]
mulss xmm5, dword [0x18005b3d4]
addss xmm5, xmm7
movsd xmm7, qword [rsp + 0x60]
subsd xmm6, xmm7
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
comiss xmm0, xmm2
jbe 0x180004109
nop dword [rax]
addss xmm0, xmm3
comiss xmm0, xmm2
ja 0x180004100
comiss xmm1, xmm0
jbe 0x180004119
nop
addss xmm0, xmm4
comiss xmm1, xmm0
ja 0x180004110
divss xmm0, xmm5
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
movsd xmm6, qword [rsp + 0x68]
subsd xmm8, xmm6
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
comiss xmm0, xmm2
jbe 0x180004149
nop
addss xmm0, xmm3
comiss xmm0, xmm2
ja 0x180004140
comiss xmm1, xmm0
jbe 0x180004159
nop
addss xmm0, xmm4
comiss xmm1, xmm0
ja 0x180004150
divss xmm0, xmm5
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
addsd xmm7, xmm9
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
comiss xmm0, xmm2
jbe 0x18000417e
addss xmm0, xmm3
comiss xmm0, xmm2
ja 0x180004175
comiss xmm1, xmm0
jbe 0x18000418c
addss xmm0, xmm4
comiss xmm1, xmm0
ja 0x180004183
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x60], xmm0
addsd xmm6, xmm5
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
comiss xmm0, xmm2
jbe 0x1800041af
addss xmm0, xmm3
comiss xmm0, xmm2
ja 0x1800041a6
comiss xmm1, xmm0
jbe 0x1800041bd
addss xmm0, xmm4
comiss xmm1, xmm0
ja 0x1800041b4
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x68], xmm0
movsd qword [rsp + 0x70], xmm13
lea rdx, [rsp + 0x60]
call fcn.18004bf10
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.18004d510
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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 rbp
ret
lea rcx, [rsp + 0x60]
call fcn.1800012c0
lea rdx, [0x1800621d0]
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rsp + 0x60]
call fcn.1800012c0
lea rdx, [0x1800621d0]
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rsp + 0x60]
call fcn.1800012c0
lea rdx, [0x1800621d0]
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x60]
call fcn.1800012c0
lea rdx, [0x1800621d0]
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x60]
call fcn.1800012c0
lea rdx, [0x1800621d0]
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll__CxxThrowException
int3