Function at 0x180041aec
Capabilities:
Log keystrokes via polling
Query environment variable

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
sub rsp, 0x200
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
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
movss xmm0, dword [0x180169610]
lea rcx, [rbp + 0x20]
movss xmm1, dword [0x180169634]
xor edx, edx
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
call fcn.18007c28c
movabs rax, 0x6fd0b69d518d2da0
lea rcx, [rbp]
mov qword [rbp], rax
xor edx, edx
movabs rax, 0xf73238593973c589
movabs r14, 0xeb796f83aec43f3
mov qword [rbp + 8], rax
movabs rsi, 0xf73238593973a0e4
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], rsi
lea r8d, [rdx + 0x22]
movdqa xmm0, xmmword [rbp + 0x10]
pxor xmm0, xmmword [rbp]
movdqa xmmword [rbp], xmm0
call fcn.18006a4e4
movss xmm1, dword [0x18016960c]
lea rdx, [rbp + 0x20]
mov qword [rbp + 8], rsi
lea rcx, [rbp]
movabs rax, 0xeb796f85f8122b4
mov qword [rbp + 0x10], r14
mov qword [rbp], rax
xor r9d, r9d
mov qword [rbp + 0x18], rsi
mov r8b, 1
movdqa xmm0, xmmword [rbp + 0x10]
pxor xmm0, xmmword [rbp]
movdqa xmmword [rbp], xmm0
movss dword [rbp + 0x24], xmm1
mov dword [rbp + 0x20], 0x43920000
call fcn.18006c35c
xor r13d, r13d
lea r12, [0x180260cd8]
test al, al
je 0x180042052
lea rcx, [rbp + 0x20]
call fcn.180070b88
lea rcx, [rbp]
call fcn.1800718cc
movss xmm0, dword [rbp + 0x20]
lea rcx, [rbp]
addss xmm0, dword [rax]
movss dword [rbp + 0x20], xmm0
call fcn.1800718cc
movss xmm0, dword [rbp + 0x24]
mov rcx, r12
addss xmm0, dword [rax + 4]
movss dword [rbp + 0x24], xmm0
call fcn.180039974
movsxd rcx, dword [0x180232c14]
mov edi, r13d
mov rax, rcx
test ecx, ecx
je 0x18004204d
movss xmm12, dword [0x180169584]
movss xmm13, dword [0x180169574]
movss xmm14, dword [0x180169550]
mov rsi, r13
test rax, rax
je 0x180042023
imul eax, edi, 0xe
xorps xmm7, xmm7
movd xmm15, eax
cvtdq2ps xmm15, xmm15
test rdi, rdi
js 0x180041cc7
cvtsi2ss xmm7, rdi
jmp 0x180041cdf
mov rax, rdi
mov rcx, rdi
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm7, rcx
addss xmm7, xmm7
imul eax, esi, 0xe
movaps xmm0, xmm15
xorps xmm6, xmm6
addss xmm0, dword [rbp + 0x20]
cvttss2si r15d, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, dword [rbp + 0x24]
cvttss2si r12d, xmm1
test rsi, rsi
js 0x180041d10
cvtsi2ss xmm6, rsi
jmp 0x180041d28
mov rax, rsi
mov rcx, rsi
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm6, rcx
addss xmm6, xmm6
mov rax, qword [0x180260ce0]
mov cl, r13b
sub rax, qword [0x180260cd8]
mov r14, r13
sar rax, 3
test rax, rax
je 0x180041e8f
mov rax, qword [0x180260cd8]
movss xmm0, dword [rax + r14*8]
ucomiss xmm0, xmm7
jp 0x180041e69
jne 0x180041e69
movss xmm0, dword [rax + r14*8 + 4]
ucomiss xmm0, xmm6
jp 0x180041e69
jne 0x180041e69
movd xmm8, r15d
cvtdq2ps xmm8, xmm8
movd xmm9, r12d
cvtdq2ps xmm9, xmm9
movaps xmm10, xmm8
subss xmm8, xmm13
movaps xmm11, xmm9
addss xmm10, xmm12
addss xmm11, xmm12
subss xmm9, xmm13
call fcn.180070c58
mov rbx, rax
test r14, r14
jne 0x180041e04
movaps xmm0, xmmword [0x180169750]
lea rcx, [rbp + 0xe0]
movups xmmword [rbp + 0xe0], xmm0
call fcn.1800709d8
lea r8, [rbp + 0x80]
movss dword [rbp + 0x80], xmm10
lea rdx, [rbp + 0x88]
movss dword [rbp + 0x84], xmm11
movss dword [rbp + 0x88], xmm8
movss dword [rbp + 0x8c], xmm9
jmp 0x180041e50
movaps xmm0, xmmword [0x180169740]
lea rcx, [rbp + 0xf0]
movups xmmword [rbp + 0xf0], xmm0
call fcn.1800709d8
lea r8, [rbp + 0x90]
movss dword [rbp + 0x90], xmm10
lea rdx, [rbp + 0x98]
movss dword [rbp + 0x94], xmm11
movss dword [rbp + 0x98], xmm8
movss dword [rbp + 0x9c], xmm9
mov dword [rsp + 0x28], r13d
mov r9d, eax
mov rcx, rbx
movss dword [rsp + 0x20], xmm14
call fcn.1800829b8
mov cl, 1
mov rax, qword [0x180260ce0]
inc r14
sub rax, qword [0x180260cd8]
sar rax, 3
cmp r14, rax
jb 0x180041d49
test cl, cl
jne 0x180042010
mov rax, qword [0x180260d30]
mov r14, r13
sub rax, qword [0x180260d28]
sar rax, 3
test rax, rax
je 0x180041f90
mov rax, qword [0x180260d28]
movss xmm0, dword [rax + r14*8 - 8]
ucomiss xmm0, xmm7
jp 0x180041f6a
jne 0x180041f6a
movss xmm0, dword [rax + r14*8 - 4]
ucomiss xmm0, xmm6
jp 0x180041f6a
jne 0x180041f6a
call fcn.180070c58
movaps xmm0, xmmword [0x180169700]
lea rcx, [rbp + 0xc0]
movups xmmword [rbp + 0xc0], xmm0
mov rbx, rax
call fcn.1800709d8
movd xmm3, r15d
lea r8, [rbp + 0xa0]
cvtdq2ps xmm3, xmm3
lea rdx, [rbp + 0x30]
mov dword [rsp + 0x28], r13d
mov r9d, eax
mov rcx, rbx
movd xmm2, r12d
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm3
movss dword [rsp + 0x20], xmm14
movaps xmm1, xmm2
addss xmm0, xmm12
addss xmm1, xmm12
subss xmm3, xmm13
subss xmm2, xmm13
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xa4], xmm1
movss dword [rbp + 0x30], xmm3
movss dword [rbp + 0x34], xmm2
call fcn.1800829b8
mov cl, 1
mov rax, qword [0x180260d30]
inc r14
sub rax, qword [0x180260d28]
sar rax, 3
cmp r14, rax
jb 0x180041ead
test cl, cl
jne 0x180042010
call fcn.180070c58
movaps xmm0, xmmword [0x180169710]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
mov rbx, rax
call fcn.1800709d8
movd xmm3, r15d
lea r8, [rbp + 0x10]
cvtdq2ps xmm3, xmm3
lea rdx, [rbp]
mov r9d, eax
mov rcx, rbx
movd xmm2, r12d
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm3
movss dword [rsp + 0x30], xmm14
movaps xmm1, xmm2
mov dword [rsp + 0x28], r13d
addss xmm0, xmm12
movss dword [rsp + 0x20], xmm14
addss xmm1, xmm12
subss xmm3, xmm13
subss xmm2, xmm13
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
movss dword [rbp], xmm3
movss dword [rbp + 4], xmm2
call fcn.1800828c8
movsxd rcx, dword [0x180232c14]
inc rsi
cmp rsi, rcx
jb 0x180041cdf
inc rdi
movsxd rax, ecx
cmp rdi, rax
jb 0x180041ca0
movabs rsi, 0xf73238593973a0e4
lea r12, [0x180260cd8]
movabs r14, 0xeb796f83aec43f3
call fcn.18006eed0
movss xmm0, dword [0x1801695f4]
lea rdx, [rbp]
movss dword [rbp + 4], xmm0
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0xedbf98a4e822cb0
mov qword [rbp + 0x10], rax
xor r9d, r9d
movdqa xmm0, xmmword [rbp + 0x10]
mov r8b, 1
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], rsi
pxor xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x10], xmm0
mov dword [rbp], 0x43920000
call fcn.18006c35c
test al, al
je 0x18004267c
call fcn.180070bd0
addss xmm0, dword [0x1801695c0]
call fcn.18007bc74
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov qword [rbp + 8], rsi
test ax, ax
movabs rax, 0xeb796f83aec43a4
mov qword [rbp + 0x10], r14
mov qword [rbp], rax
movdqa xmm0, xmmword [rbp]
mov qword [rbp + 0x18], rsi
pxor xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm0
je 0x18004210f
movaps xmm0, xmmword [0x180169780]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800aad7c
jmp 0x180042118
lea rcx, [rbp]
call fcn.1800aad54
call fcn.180070bd0
addss xmm0, dword [0x1801695b4]
call fcn.18007bc74
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov qword [rbp + 8], rsi
test ax, ax
movabs rax, 0xeb796f83aec43b2
mov qword [rbp + 0x10], r14
mov qword [rbp], rax
movdqa xmm0, xmmword [rbp]
mov qword [rbp + 0x18], rsi
pxor xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm0
je 0x18004217d
movaps xmm0, xmmword [0x180169780]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800aad7c
jmp 0x180042186
lea rcx, [rbp]
call fcn.1800aad54
movss xmm6, dword [0x180169658]
xorps xmm0, xmm0
movaps xmm1, xmm6
call fcn.18007b1d4
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
mov qword [rbp + 8], rsi
movabs rax, 0xeb796f83aec43a0
mov qword [rbp + 0x10], r14
mov qword [rbp], rax
mov qword [rbp + 0x18], rsi
je 0x1800421ec
movdqa xmm0, xmmword [rbp]
lea rdx, [rbp]
pxor xmm0, xmmword [rbp + 0x10]
lea rcx, [rbp + 0x40]
movdqa xmmword [rbp], xmm0
movaps xmm0, xmmword [0x180169780]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800aad7c
jmp 0x180042204
movdqa xmm2, xmmword [rbp]
lea rcx, [rbp]
pxor xmm2, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm2
call fcn.1800aad54
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.18007b1d4
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov qword [rbp + 8], rsi
test ax, ax
movabs rax, 0xeb796f83aec43b7
mov qword [rbp + 0x10], r14
mov qword [rbp], rax
movdqa xmm0, xmmword [rbp]
mov qword [rbp + 0x18], rsi
pxor xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm0
je 0x180042262
movaps xmm0, xmmword [0x180169780]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800aad7c
jmp 0x18004226b
lea rcx, [rbp]
call fcn.1800aad54
call fcn.180070bd0
movss xmm8, dword [0x1801695b0]
addss xmm0, xmm8
call fcn.18007bc74
cmp byte [0x180261040], r13b
lea r15, [0x180261000]
jne 0x1800422b9
lea rcx, str.USERNAME
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov rdx, r15
sub rdx, rax
mov cl, byte [rax]
mov byte [rdx + rax], cl
inc rax
test cl, cl
jne 0x1800422a6
mov byte [0x180261040], 1
lea rcx, [rbp + 0x10]
call fcn.180070ae8
mov rbx, rax
call fcn.180071580
movss xmm0, dword [rbx]
lea rdx, str.Enter_name
mov qword [rsp + 0x38], r13
lea rcx, str.Username
mov qword [rsp + 0x30], r13
mov r9d, 0x40
subss xmm0, dword [rax + 8]
lea rax, [rbp]
mov dword [rsp + 0x28], r13d
mov r8, r15
mov dword [rbp + 4], 0x42200000
mov qword [rsp + 0x20], rax
movss dword [rbp], xmm0
call fcn.1800a37fc
cmp byte [0x180260d04], r13b
jne 0x18004253c
movss xmm0, dword [0x1801695d0]
lea rdx, [rbp]
movabs rcx, 0xbf391ada7bdc0b25
movss dword [rbp], xmm0
mov qword [rbp + 0x50], rcx
movabs rax, 0x6697e28a559c26a1
mov qword [rbp + 0x40], rax
movabs rax, 0x9240573a4a1bc78d
mov qword [rbp + 0x48], rax
movabs rax, 0xa8a88b635447f1ae
mov qword [rbp + 0xd0], rcx
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x58], rax
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], rsi
vmovdqu ymm0, ymmword [rbp + 0xc0]
vpxor ymm1, ymm0, ymmword [rbp + 0x40]
vmovdqa ymmword [rbp + 0x40], ymm1
mov dword [rbp + 4], 0x41a00000
vzeroupper
call fcn.18009e158
test al, al
je 0x180042444
movdqa xmm0, xmmword [0x180169670]
or rbx, 0xffffffffffffffff
mov edi, dword [0x180260d1c]
movdqu xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x40], r13
inc rbx
cmp byte [r15 + rbx], r13b
jne 0x1800423cd
lea rcx, [rbp + 0x40]
cmp rbx, 0xf
ja 0x1800423f6
mov r8, rbx
mov qword [rbp + 0x50], rbx
mov rdx, r15
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rbx + 0x40], r13b
jmp 0x180042405
mov r8b, byte [rbp + 0x28]
mov r9, r15
mov rdx, rbx
call fcn.180032880
mov rdx, qword [0x180263bd0]
lea rcx, [rbp + 0xc0]
xorps xmm0, xmm0
mov qword [rbp + 0xc0], r13
add rdx, 0x468
movdqu xmmword [rbp + 0xd0], xmm0
call fcn.1800446f4
mov r8d, edi
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xc0]
call fcn.18004165c
movss xmm0, dword [0x1801695bc]
lea rdx, [rbp]
movss dword [rbp], xmm0
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0xeb7968c488d37a0
mov qword [rbp + 0x10], rax
movdqa xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], rsi
pxor xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x10], xmm0
mov dword [rbp + 4], 0x41a00000
call fcn.18009e158
test al, al
je 0x18004253c
lea rcx, [rbp + 0x40]
call fcn.180035a84
mov rbx, rax
cmp r12, rax
je 0x1800424b5
mov r8b, r13b
mov rdx, rax
mov rcx, r12
call fcn.18004538c
mov ecx, dword [rbx + 0x18]
mov dword [0x180260cf0], ecx
movss xmm0, dword [rbx + 0x1c]
mov rcx, qword [rbp + 0x40]
movss dword [0x180260cf4], xmm0
movss xmm1, dword [rbx + 0x20]
movss dword [0x180260cf8], xmm1
movss xmm0, dword [rbx + 0x24]
movss dword [0x180260cfc], xmm0
movss xmm1, dword [rbx + 0x28]
movss dword [0x180260d00], xmm1
mov al, byte [rbx + 0x2c]
mov byte [0x180260d04], al
test rcx, rcx
je 0x18004253c
mov rdx, qword [rbp + 0x50]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x180042537
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180042537
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180162508
call fcn.180070bd0
movaps xmm6, xmm0
addss xmm6, dword [0x1801695e0]
call fcn.180070bf4
subss xmm0, xmm8
movss dword [rbp], xmm6
lea rcx, [rbp]
movss dword [rbp + 4], xmm0
call fcn.18007bc1c
mov r8d, dword [0x180260d18]
lea rdx, [rbp]
mov qword [rbp + 0x10], r14
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0x2b97ac9d488320a0
mov qword [rbp], rax
movabs rax, 0xf73238593973a080
mov qword [rbp + 8], rax
movabs rax, 0xed2e497599f60d0
movdqa xmm0, xmmword [rbp]
pxor xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rsi
movdqa xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], rsi
pxor xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x10], xmm0
call fcn.1800a7528
call fcn.180070bd0
addss xmm0, dword [0x1801695e0]
call fcn.18007bc74
call fcn.180070bf4
subss xmm0, dword [0x18016958c]
call fcn.18007bcb4
mov r8d, dword [0x180260d1c]
lea rdx, [rbp]
mov qword [rbp + 0x10], r14
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0x7cd8f58b528b2abb
mov qword [rbp], rax
movabs rax, 0xf732383d1c539a81
mov qword [rbp + 8], rax
movabs rax, 0x6dc4fe9f538460d0
movdqa xmm0, xmmword [rbp]
pxor xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0x10], rax
movabs rax, 0xf73238593916d28b
mov qword [rbp + 0x18], rax
movdqa xmmword [rbp], xmm0
movdqa xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], rsi
pxor xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x10], xmm0
call fcn.1800a7528
call fcn.18006eed0
call fcn.18006ed80
lea r11, [rsp + 0x200]
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