Function at 0x180082da0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x50], xmm8
mov rax, qword [0x1801b50e0]
mov rax, qword [rax + 0x4890]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1800246f0
mov r14, rax
test rax, rax
je 0x180083429
call qword [0x1801b4fe0]
mov rdi, rax
call qword [0x1801b4ff0]
mov rsi, rax
test rdi, rdi
je 0x180083429
test rax, rax
je 0x180083429
mov rcx, qword [rdi + 0x108]
mov rdi, qword [rdi + 0x110]
test rcx, rcx
je 0x180083429
test rdi, rdi
je 0x180083429
mov rax, qword [0x1801b50e0]
movss xmm2, dword [rax + 0xdfc]
movss xmm1, dword [rax + 0xe00]
movss xmm3, dword [rdi + 0xc0]
movss xmm4, dword [rdi + 0xc4]
movss xmm5, dword [rdi + 0xa8]
divss xmm2, xmm3
addss xmm2, xmm5
divss xmm1, xmm4
addss xmm1, dword [rdi + 0xac]
mulss xmm1, dword [0x180150ef8]
cvttss2si edx, xmm1
mulss xmm2, dword [0x180150ef8]
cvttss2si r8d, xmm2
test r8d, r8d
js 0x180083429
test edx, edx
js 0x180083429
mov eax, dword [rcx + 0x98]
cmp eax, r8d
jle 0x180083429
cmp dword [rcx + 0x9c], edx
jle 0x180083429
imul eax, edx
add eax, r8d
cdqe
lea rbx, [rax + rax*4]
shl rbx, 5
add rbx, qword [rcx + 0xa8]
je 0x180083429
movzx eax, byte [rbx + 0xa]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss xmm8, dword [0x180150ff8]
mulss xmm6, xmm8
movzx eax, byte [rbx + 0xb]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm8
subss xmm6, xmm5
mulss xmm6, xmm3
subss xmm7, dword [rdi + 0xac]
mulss xmm7, xmm4
cmp byte [0x1801b5550], 0
je 0x180083429
mov ecx, reloc.WS2_32.dll_WSASetLastError
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x180083429
movaps xmm0, xmmword [0x1801511a0]
movups xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x50]
call fcn.180020fe0
movss xmm1, dword [rdi + 0xc4]
mulss xmm1, xmm8
addss xmm1, xmm7
movss xmm0, dword [rdi + 0xc0]
mulss xmm0, xmm8
addss xmm0, xmm6
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm1
movss dword [rbp + 0x38], xmm6
movss dword [rbp + 0x3c], xmm7
xor r15d, r15d
mov dword [rsp + 0x28], r15d
xorps xmm6, xmm6
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov rcx, r14
call fcn.1800433f0
xor ecx, ecx
call fcn.180030df0
movzx r9d, word [rbx + 4]
mov r8, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
sub rcx, r8
movabs r14, 0x95a02568095a0257
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 0xa
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jae 0x180082ffe
imul rdx, r9, 0x6d8
add rdx, r8
je 0x180082ffe
add rdx, 0x10
lea rcx, [rbp - 0x50]
call fcn.18000ba50
jmp 0x180083024
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r8d, ntohl
lea rdx, str._not_found_
lea rcx, [rbp - 0x50]
call fcn.18000aad0
nop
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
lea rcx, str.Foreground_item:__s
call fcn.1800545a0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x18008307c
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180083077
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180083077
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ef620
movzx r9d, word [rbx + 6]
mov r8, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
sub rcx, r8
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 0xa
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jae 0x1800830c3
imul rdx, r9, 0x6d8
add rdx, r8
je 0x1800830c3
add rdx, 0x10
lea rcx, [rbp - 0x50]
call fcn.18000ba50
jmp 0x1800830e9
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r8d, ntohl
lea rdx, str._not_found_
lea rcx, [rbp - 0x50]
call fcn.18000aad0
nop
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
lea rcx, str.Background_item:__s
call fcn.1800545a0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x180083141
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008313c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18008313c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ef620
movzx r8d, byte [rbx + 0xb]
movzx edx, byte [rbx + 0xa]
lea rcx, str.Position:__d__d
call fcn.1800545a0
movzx edx, word [rbx + 8]
test dx, dx
je 0x1800831d1
lea rcx, [rbp - 0x50]
call fcn.180083450
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
lea rcx, str.Flags:__s
call fcn.1800545a0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1800831c0
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800831bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800831bb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ef620
movdqa xmm0, xmmword [0x1801510d0]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
cmp qword [rbx + 0x28], 0
je 0x180083423
mov rcx, qword [0x1801b50e0]
mov rax, qword [rcx + 0x3eb8]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb8]
mov rdi, rbx
cmp byte [rax + 0xb3], 0
jne 0x180083237
lea r8, str.Extra_data
cmp r8, 0xffffffffffffffff
jae 0x18008322f
movzx ecx, byte [r8]
test cl, cl
je 0x18008322f
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x180083226
cmp byte [rax], cl
je 0x18008322f
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x180083211
movaps xmm3, xmm6
call fcn.180057220
mov rax, qword [rdi + 0x28]
movzx ecx, byte [rax + 8]
cmp cl, 0x51
ja 0x18008325d
mov eax, ecx
add rax, rax
lea rcx, str.none
mov r15, qword [rcx + rax*8]
mov rax, qword [rcx + rax*8 + 8]
mov qword [rbp - 0x48], rax
mov rdx, r15
lea rcx, str.Type:__s
call fcn.1800545a0
mov r8, qword [rdi + 0x28]
movzx ecx, byte [r8 + 8]
sub ecx, 1
je 0x180083409
sub ecx, 1
je 0x180083409
sub ecx, 1
je 0x1800833c0
sub ecx, 1
je 0x18008339a
cmp ecx, 0x14
je 0x1800832be
movaps xmm0, xmmword [0x1801511c0]
movups xmmword [rbp - 0x50], xmm0
lea rdx, str.Unknown_data
lea rcx, [rbp - 0x50]
call fcn.1800546e0
jmp 0x180083423
mov r9, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
sub rcx, r9
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 0xa
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [r8 + 0x70]
cmp rax, rdx
jae 0x180083304
imul rdx, rax, 0x6d8
add rdx, r9
je 0x180083304
add rdx, 0x10
lea rcx, [rbp - 0x50]
call fcn.18000ba50
jmp 0x18008332a
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov r8d, ntohl
lea rdx, str._not_found_
lea rcx, [rbp - 0x50]
call fcn.18000aad0
nop
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
lea rcx, str.Item:__s
call fcn.1800545a0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x180083382
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008337d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18008337d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ef620
mov rdx, qword [rdi + 0x28]
mov edx, dword [rdx + 0xc]
lea rcx, str.Price:__d
call fcn.1800545a0
jmp 0x180083423
mov edx, dword [r8 + 0x74]
lea rcx, str.Growth:__d
call fcn.1800545a0
mov rax, qword [rdi + 0x28]
movzx edx, byte [rax + 0x78]
lea rcx, str.Fruit_count:__d
call fcn.1800545a0
jmp 0x180083423
mov edx, dword [r8 + 0xc]
lea rcx, str.Owner:__d
call fcn.1800545a0
mov rax, qword [rdi + 0x28]
mov rdi, qword [rax + 0xa0]
mov rbx, qword [rax + 0x98]
cmp rbx, rdi
je 0x180083423
nop word [rax + rax]
mov edx, dword [rbx]
lea rcx, str.Admin:__d
call fcn.1800545a0
add rbx, 4
cmp rbx, rdi
jne 0x1800833f0
jmp 0x180083423
lea rdx, [r8 + 0x30]
cmp qword [rdx + 0x18], 0xf
jbe 0x180083417
mov rdx, qword [rdx]
lea rcx, str.Label:__s
call fcn.1800545a0
call fcn.18002ca40
nop
mov rbx, qword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x50]
add rsp, 0x80
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret