Function at 0x14011a5b0
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 r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1f0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x1401be040]
xor rax, rsp
mov qword [rbp + 0x48], rax
xor r14d, r14d
movss xmm7, dword [0x1401af174]
mov r15, qword [0x140241ab0]
mov rdi, qword [0x140241aa8]
cmp rdi, r15
je 0x14011b575
xorps xmm6, xmm6
cmp qword [0x140241a60], 0
je 0x14011a878
cmp qword [0x140241a98], 0
je 0x14011a878
mov rbx, qword [rdi]
test rbx, rbx
je 0x14011a878
movss xmm0, dword [rdi + 0x20]
ucomiss xmm0, xmm6
jp 0x14011a679
je 0x14011a878
mov r9, qword [0x140241b60]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov qword [rbp - 0x38], rax
lea rax, [rbx + 0x680]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rcx
lea rax, [rsp + 0x50]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 8
lea r8, [rbp - 0x38]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x14011a878
mov r9, qword [0x140241b60]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov qword [rbp - 0x38], rax
mov rax, qword [0x140241a98]
add rax, 0x8e0
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rcx
lea rax, [rsp + 0x70]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 8
lea r8, [rbp - 0x38]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
cmp qword [rsp + 0x70], 0
je 0x14011a878
lea rdx, [rsi + 0x2c8]
call fcn.1401379a0
cmp byte [rax], 0
je 0x14011a73f
cmp byte [0x14023c6fe], 0
jne 0x14011a878
mov r9, qword [0x140241b60]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov qword [rbp - 0x38], rax
lea rsi, [rbx + 0x8d8]
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rcx
lea rax, [rsp + 0x60]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 4
lea r8, [rbp - 0x38]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
mov eax, dword [rsp + 0x60]
shr eax, 6
test al, 1
je 0x14011a79b
cmp byte [0x14023c6ff], 0
jne 0x14011a878
mov r9, qword [0x140241b60]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rcx
lea rax, [rsp + 0x48]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 4
lea r8, [rbp - 0x38]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
mov eax, dword [rsp + 0x48]
shr eax, 0x11
test al, 1
je 0x14011a7f0
cmp byte [0x14023c701], 0
jne 0x14011a878
mov r9, qword [0x140241b60]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rcx
lea rax, [rsp + 0x40]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 4
lea r8, [rbp - 0x38]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
mov eax, dword [rsp + 0x40]
shr eax, 4
test al, 1
je 0x14011a841
cmp byte [0x14023c700], 0
jne 0x14011a878
cmp byte [rdi + 0x24], 0
jne 0x14011a878
mov rdx, rbx
mov rcx, qword [0x140241a60]
call fcn.1401105e0
movaps xmm1, xmm0
comiss xmm7, xmm1
jbe 0x14011a878
movss xmm0, dword [0x14023c6f8]
comiss xmm0, xmm1
jbe 0x14011a878
movaps xmm7, xmm1
mov r14, rbx
mov qword [0x140241aa0], rbx
add rdi, 0x28
cmp rdi, r15
jne 0x14011a641
test r14, r14
je 0x14011b575
mov rdx, r14
mov rcx, qword [0x140241a60]
call fcn.1401105e0
movaps xmm1, xmm0
movss xmm0, dword [0x14023c6f8]
comiss xmm0, xmm1
jbe 0x14011b575
mov rcx, qword [0x140241a98]
call fcn.140110150
mov rbx, rax
test rax, rax
je 0x14011b575
lea rdx, [rbp - 0x38]
mov rcx, rax
call fcn.14010fbd0
nop
cmp qword [rbp - 0x28], 0
je 0x14011b56c
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x10]
call fcn.1400dd9b0
mov rcx, rax
call fcn.14010e0e0
test al, al
je 0x14011b56c
mov r9, qword [0x140241b60]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov qword [rbp + 0x20], rax
lea rax, [rbx + 0xb0]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rcx
lea rax, [rsp + 0x70]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], 8
lea r8, [rbp + 0x20]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x14011b56c
mov r9, qword [0x140241b60]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov qword [rbp - 0x10], rax
lea rax, [rsi + 0x2c0]
mov qword [rbp - 8], rax
mov qword [rbp], rcx
lea rax, [rsp + 0x60]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 8
lea r8, [rbp - 0x10]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
mov r9, qword [0x140241b60]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov qword [rbp - 0x60], rax
mov rax, qword [rsp + 0x60]
add rax, 0x20
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rcx
lea rax, [rsp + 0x48]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 8
lea r8, [rbp - 0x60]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
mov rdx, qword [rsp + 0x48]
add rdx, 0x18
call fcn.140137a10
mov ecx, dword [rax]
movss xmm15, dword [0x1401aefc0]
movss xmm0, dword [0x1401af144]
movss dword [rsp + 0x50], xmm0
cmp ecx, 0xd49fe7af
jg 0x14011aa77
je 0x14011ac62
cmp ecx, 0xb6676e3b
jg 0x14011aa52
je 0x14011aae5
cmp ecx, 0x82fc91ad
je 0x14011aae5
cmp ecx, 0x9b2f55dd
je 0x14011abf1
cmp ecx, 0x9b8c8328
je 0x14011ac2b
cmp ecx, 0xb139337d
jne 0x14011aace
jmp 0x14011aba6
cmp ecx, 0xb7cf11d0
je 0x14011ab8b
cmp ecx, 0xc23630aa
je 0x14011ac3f
cmp ecx, 0xc3054289
jne 0x14011aace
jmp 0x14011ab20
cmp ecx, 0x231546a6
jg 0x14011aaaa
je 0x14011ac3f
cmp ecx, 0xd94fd7
je 0x14011ab6b
cmp ecx, 0x319390f
je 0x14011ac0e
cmp ecx, 0xcdc27d9
jne 0x14011aace
jmp 0x14011ab4e
cmp ecx, 0x2416b2e8
je 0x14011ac62
cmp ecx, 0x2ed5424d
je 0x14011abf9
cmp ecx, 0x660c1e70
je 0x14011aebf
mov eax, dword [rsp + 0x60]
movss xmm1, dword [0x1401aef9c]
movss dword [rsp + 0x48], xmm1
cmp eax, 1
jne 0x14011ab14
movss xmm0, dword [0x1401af0e0]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1401aef30]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [0x1401aefa0]
movss dword [rsp + 0x40], xmm0
jmp 0x14011ac85
movss dword [rsp + 0x40], xmm15
cmp eax, 2
jne 0x14011ab49
movss xmm0, dword [0x1401af0f4]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1401aef30]
movss xmm1, dword [0x1401aef7c]
movss dword [rsp + 0x40], xmm1
jmp 0x14011ac7f
cmp eax, 3
jne 0x14011ab66
movss xmm0, dword [0x1401af0d8]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1401aef34]
jmp 0x14011aafb
cmp eax, 4
jne 0x14011ab86
movss xmm0, dword [0x1401af0d0]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1401aef34]
jmp 0x14011ac78
cmp eax, 5
jne 0x14011ab98
movss xmm0, dword [0x1401af148]
jmp 0x14011ac6a
cmp eax, 6
je 0x14011aebf
cmp eax, 7
jne 0x14011abd5
movss xmm0, dword [0x1401af13c]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1401aef84]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [0x1401aefd8]
movss dword [rsp + 0x40], xmm0
jmp 0x14011ac85
cmp eax, 8
je 0x14011ac62
cmp eax, 9
je 0x14011aae5
cmp eax, 0xa
je 0x14011abf9
cmp eax, 0xb
jne 0x14011ac09
movss xmm0, dword [0x1401af14c]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1401aef90]
jmp 0x14011ac78
cmp eax, 0xc
jne 0x14011ac26
movss xmm0, dword [0x1401af13c]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1401aef90]
jmp 0x14011ac78
cmp eax, 0xd
jne 0x14011ac35
movss xmm0, dword [0x1401af13c]
jmp 0x14011ac47
cmp eax, 0xe
je 0x14011ac3f
cmp eax, 0xf
jne 0x14011ac5d
movss xmm0, dword [0x1401af104]
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x48], xmm15
movss dword [rsp + 0x40], xmm15
jmp 0x14011ac85
cmp eax, 0x10
jne 0x14011ac85
movss xmm0, dword [0x1401af13c]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1401aef84]
movss dword [rsp + 0x40], xmm15
movss dword [rsp + 0x48], xmm0
mov r9, qword [0x140241b60]
mov rcx, qword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov qword [rbp - 0x60], rax
lea rbx, [r14 + 0x8e0]
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rcx
lea rax, [rsp + 0x60]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 8
lea r8, [rbp - 0x60]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
mov rdx, qword [rsp + 0x60]
add rdx, 0x44
call fcn.140137920
movups xmm14, xmmword [rax]
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.140119c90
mov edx, 0x31
mov rcx, qword [0x140241a98]
call fcn.140110040
lea rdx, [rbp - 0x10]
mov rcx, rax
call fcn.14010f040
mov rdi, rax
mov r9, qword [0x140241b60]
mov rdx, qword [r9 + 0x10]
mov rcx, qword [r9 + 0x18]
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rdx
lea rax, [rsp + 0x60]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 8
lea r8, [rbp - 0x60]
mov edx, 8
mov rcx, qword [r9]
call fcn.14014aa73
mov rdx, qword [rsp + 0x60]
add rdx, 0x38
call fcn.1401378a0
movsd xmm6, qword [rax]
movaps xmm3, xmm14
movss xmm0, dword [0x1401af010]
mulss xmm3, xmm0
movaps xmm12, xmm14
shufps xmm12, xmm14, 0x55
movaps xmm2, xmm12
mulss xmm2, xmm0
movaps xmm13, xmm14
shufps xmm13, xmm14, 0xaa
movaps xmm1, xmm13
mulss xmm1, xmm0
movaps xmm7, xmm14
mulss xmm7, xmm3
movaps xmm9, xmm12
mulss xmm9, xmm2
mulss xmm13, xmm1
movaps xmm10, xmm14
mulss xmm10, xmm2
movaps xmm11, xmm14
mulss xmm11, xmm1
mulss xmm12, xmm1
shufps xmm14, xmm14, 0xff
movaps xmm4, xmm14
mulss xmm4, xmm3
movaps xmm8, xmm14
mulss xmm8, xmm2
mulss xmm14, xmm1
movaps xmm1, xmm12
addss xmm1, xmm4
movaps xmm5, xmm6
shufps xmm5, xmm5, 0x55
movsd qword [rbp - 0x80], xmm6
movaps xmm6, xmm1
mulss xmm6, xmm5
movaps xmm0, xmm11
subss xmm0, xmm8
movss xmm2, dword [rbp - 0x80]
mulss xmm0, xmm2
addss xmm6, xmm0
movaps xmm0, xmm7
addss xmm0, xmm9
movaps xmm1, xmm15
subss xmm1, xmm0
movss xmm3, dword [rax + 8]
mulss xmm1, xmm3
addss xmm6, xmm1
addss xmm6, dword [rdi + 8]
addss xmm7, xmm13
movaps xmm0, xmm15
subss xmm0, xmm7
movaps xmm7, xmm0
mulss xmm7, xmm5
movaps xmm0, xmm10
addss xmm0, xmm14
mulss xmm0, xmm2
addss xmm7, xmm0
subss xmm12, xmm4
mulss xmm12, xmm3
addss xmm7, xmm12
addss xmm7, dword [rdi + 4]
addss xmm13, xmm9
subss xmm15, xmm13
mulss xmm15, xmm2
subss xmm10, xmm14
mulss xmm10, xmm5
addss xmm15, xmm10
addss xmm11, xmm8
mulss xmm11, xmm3
addss xmm15, xmm11
addss xmm15, dword [rdi]
cmp dword [0x14023c704], 0
je 0x14011b56c
movsxd rax, dword [0x14023c708]
lea r15, [0x140000000]
cmp eax, 5
ja case.default.0x14011aebd
mov ecx, dword [r15 + rax*4 + 0x11b5d8]
add rcx, r15
jmp rcx
movss xmm0, dword [0x1401af154]
jmp 0x14011ac6a
mov ecx, 0x2f
jmp 0x14011af72
mov ecx, 0x2e
jmp 0x14011af72
mov ecx, 0x16
jmp 0x14011af72
mov ecx, 6
jmp 0x14011af72
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, eax
mov eax, 0x67b23a55
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x4f
sub ecx, eax
inc ecx
cmp ecx, 0x31
ja 0x14011af29
movabs rdx, 0x21800000a1f20
bt rdx, rcx
jb 0x14011af36
lea eax, [rcx - 0x4a]
cmp eax, 1
jbe 0x14011af36
cmp ecx, 0x4f
jl 0x14011af72
mov ecx, 0x14
jmp 0x14011af72
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, eax
mov eax, 0x67b23a55
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x4f
sub ecx, eax
inc ecx
cmp ecx, 0x31
ja 0x14011af29
movabs rdx, 0x39800000a1f20
jmp 0x14011af23
mov ecx, dword [rsp + 0x60]
mov edx, ecx
mov rcx, r14
call fcn.140110040
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.14010f040
movss xmm0, dword [rbp - 0x7c]
cvtps2pd xmm0, xmm0
subsd xmm0, qword [0x1401aefc8]
cvtpd2ps xmm1, xmm0
movss dword [rbp - 0x7c], xmm1
movss xmm0, dword [rbp - 0x80]
xorps xmm11, xmm11
ucomiss xmm0, xmm11
jp 0x14011afb6
je 0x14011b56c
ucomiss xmm1, xmm11
jp 0x14011afc2
je 0x14011b56c
movss xmm0, dword [rbp - 0x78]
ucomiss xmm0, xmm11
jp 0x14011afd3
je 0x14011b56c
movsd xmm0, qword [rbp - 0x70]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x68], eax
movsd xmm0, qword [rbp - 0x80]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [rbp - 0x78]
mov dword [rbp - 0x68], eax
movss xmm1, dword [rsp + 0x50]
movaps xmm0, xmm1
mulss xmm0, dword [0x1401aef48]
movss dword [rsp + 0x38], xmm0
movss xmm2, dword [rsp + 0x40]
movss dword [rsp + 0x30], xmm2
movss xmm2, dword [rsp + 0x48]
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x20], xmm1
lea r9, [rsp + 0x60]
lea r8, [rbp - 0x70]
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.140119f50
movsd xmm0, qword [rax]
movsd qword [rbp - 0x80], xmm0
mov ebx, dword [rax + 8]
mov rcx, qword [0x140241b60]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x60], rax
mov rax, qword [0x140241a98]
add rax, 0x6a0
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdx
lea rax, [rsp + 0x70]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 8
lea r8, [rbp - 0x60]
mov edx, 8
mov rcx, qword [rcx]
call fcn.14014aa73
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x14011b56c
mov qword [rsp + 0x48], 0
mov rcx, qword [0x140241b60]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x60], rax
add rdi, 0x3c
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdx
lea rax, [rsp + 0x48]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 8
lea r8, [rbp - 0x60]
mov edx, 8
mov rcx, qword [rcx]
call fcn.14014aa73
mov eax, dword [0x14023c704]
cmp eax, 1
jne 0x14011b2ca
movd xmm0, ebx
subss xmm6, xmm0
movss dword [rsp + 0x60], xmm6
subss xmm7, dword [rbp - 0x7c]
subss xmm15, dword [rbp - 0x80]
movaps xmm2, xmm15
mulss xmm2, xmm15
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm2, xmm0
movaps xmm1, xmm6
mulss xmm1, xmm6
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14011b147
xorps xmm9, xmm9
sqrtss xmm9, xmm2
jmp 0x14011b153
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm9, xmm0
movss xmm1, dword [rsp + 0x60]
xorps xmm1, xmmword [0x1401af880]
movaps xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm8, xmm0
xorps xmm8, xmmword [0x1401af880]
mulss xmm8, dword [0x1401af0e8]
divss xmm7, xmm9
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
mulss xmm0, dword [0x1401af0e8]
movss xmm7, dword [rsp + 0x4c]
movaps xmm2, xmm8
subss xmm2, xmm7
movaps xmm1, xmm0
movss xmm6, dword [rsp + 0x48]
subss xmm1, xmm6
cmp byte [0x14023c70c], 0
je 0x14011b247
movss xmm3, dword [0x14023c710]
movss xmm4, dword [0x1401af870]
movaps xmm0, xmm6
comiss xmm11, xmm1
jbe 0x14011b1e1
andps xmm1, xmm4
minss xmm1, xmm3
subss xmm0, xmm1
jmp 0x14011b1e9
minss xmm1, xmm3
addss xmm0, xmm1
movaps xmm1, xmm7
subss xmm0, xmm6
comiss xmm11, xmm2
jbe 0x14011b203
andps xmm2, xmm4
minss xmm2, xmm3
subss xmm1, xmm2
jmp 0x14011b20b
minss xmm2, xmm3
addss xmm1, xmm2
subss xmm1, xmm7
comiss xmm11, xmm0
jbe 0x14011b222
andps xmm0, xmm4
minss xmm0, xmm3
subss xmm6, xmm0
jmp 0x14011b22a
minss xmm0, xmm3
addss xmm6, xmm0
comiss xmm11, xmm1
jbe 0x14011b23d
andps xmm1, xmm4
minss xmm1, xmm3
subss xmm7, xmm1
jmp 0x14011b24e
minss xmm1, xmm3
addss xmm7, xmm1
jmp 0x14011b24e
movaps xmm7, xmm8
movaps xmm6, xmm0
movss xmm0, dword [0x1401af1dc]
comiss xmm0, xmm6
ja 0x14011b268
movss xmm0, dword [0x1401af100]
comiss xmm6, xmm0
jbe 0x14011b26b
movaps xmm6, xmm0
movsxd rax, dword [0x14023c718]
test eax, eax
je 0x14011b28d
mov ecx, dword [r15 + rax*4 + 0x23cbd0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011b56c
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [rsp + 0x70], xmm0
mov rcx, qword [0x140241b60]
mov r8, qword [rcx + 0x18]
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x60], rax
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], r8
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], 8
jmp 0x14011b55a
cmp eax, 2
jne 0x14011b56c
movd xmm0, ebx
subss xmm6, xmm0
movss dword [rsp + 0x60], xmm6
subss xmm7, dword [rbp - 0x7c]
subss xmm15, dword [rbp - 0x80]
movaps xmm2, xmm15
mulss xmm2, xmm15
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm2, xmm0
movaps xmm1, xmm6
mulss xmm1, xmm6
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14011b31e
xorps xmm8, xmm8
sqrtss xmm8, xmm2
jmp 0x14011b32a
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm8, xmm0
movss xmm1, dword [rsp + 0x60]
xorps xmm1, xmmword [0x1401af880]
movaps xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm10, xmm0
xorps xmm10, xmmword [0x1401af880]
mulss xmm10, dword [0x1401af0e8]
divss xmm7, xmm8
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
movaps xmm7, xmm0
mulss xmm7, dword [0x1401af0e8]
movss xmm0, dword [0x1401af1dc]
comiss xmm0, xmm7
ja 0x14011b387
movss xmm0, dword [0x1401af100]
comiss xmm7, xmm0
jbe 0x14011b38a
movaps xmm7, xmm0
movsxd rax, dword [0x14023c718]
test eax, eax
je 0x14011b3ac
mov ecx, dword [r15 + rax*4 + 0x23cbd0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011b56c
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r8d, ecx
inc r8d
cmp r8d, dword [0x14023c714]
jg 0x14011b56c
mov rcx, qword [0x140241b60]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x60], rax
mov rax, qword [0x140241a98]
add rax, 0x8e0
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdx
lea rax, [rsp + 0x70]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 8
lea r8, [rbp - 0x60]
mov edx, 8
mov rcx, qword [rcx]
call fcn.14014aa73
mulss xmm7, dword [0x1401aef38]
mulss xmm10, dword [0x1401aef38]
mulss xmm7, dword [0x1401aef7c]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm9, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
mulss xmm10, dword [0x1401aef7c]
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm8, xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
xorps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm10, xmm0
xorps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm3, xmm0
movaps xmm11, xmm8
mulss xmm11, xmm9
movaps xmm4, xmm7
mulss xmm4, xmm6
mulss xmm8, xmm7
mulss xmm9, xmm6
movaps xmm5, xmm0
mulss xmm5, xmm9
movaps xmm0, xmm10
mulss xmm0, xmm8
addss xmm5, xmm0
movaps xmm1, xmm10
mulss xmm1, xmm9
movaps xmm0, xmm3
mulss xmm0, xmm8
subss xmm1, xmm0
movaps xmm2, xmm11
mulss xmm2, xmm10
movaps xmm0, xmm4
mulss xmm0, xmm3
subss xmm2, xmm0
mulss xmm11, xmm3
mulss xmm4, xmm10
addss xmm11, xmm4
mulss xmm11, dword [0x1401af19c]
shufps xmm5, xmm5, 0xe1
movss xmm5, xmm1
shufps xmm5, xmm5, 0xc6
movss xmm5, xmm11
shufps xmm5, xmm5, 0x27
movss xmm5, xmm2
shufps xmm5, xmm5, 0x39
movups xmmword [rbp - 0x10], xmm5
movdqa xmmword [rbp - 0x10], xmm5
mov rcx, qword [0x140241b60]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdx
mov rax, qword [rsp + 0x70]
add rax, 0x44
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 0x10
lea r8, [rbp - 0x60]
mov edx, 8
mov rcx, qword [rcx]
call fcn.14014aa73
nop
lea rcx, [rbp - 0x38]
call fcn.1400ddfc0
mov rcx, qword [rbp + 0x48]
xor rcx, rsp
call fcn.14014b630
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
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 rbp
ret