Function at 0x18003cd04
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 [0x180155548]
lea rcx, [rbp + 0x20]
movss xmm1, dword [0x18015556c]
xor edx, edx
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
call fcn.1800753d8
movabs rax, 0x2ede03aa6527a75a
lea rcx, [rbp]
mov qword [rbp], rax
xor edx, edx
movabs rax, 0xb1f14f06aac5ebab
movabs r14, 0x4fb923cf0e46c909
mov qword [rbp + 8], rax
movabs rsi, 0xb1f14f06aac58ec6
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.180063630
movss xmm1, dword [0x180155544]
lea rdx, [rbp + 0x20]
mov qword [rbp + 8], rsi
lea rcx, [rbp]
movabs rax, 0x4fb923cf6b2ba84e
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.1800654a8
xor r13d, r13d
lea r12, [0x1803a3db8]
test al, al
je 0x18003d26a
lea rcx, [rbp + 0x20]
call fcn.180069cd4
lea rcx, [rbp]
call fcn.18006aa18
movss xmm0, dword [rbp + 0x20]
lea rcx, [rbp]
addss xmm0, dword [rax]
movss dword [rbp + 0x20], xmm0
call fcn.18006aa18
movss xmm0, dword [rbp + 0x24]
mov rcx, r12
addss xmm0, dword [rax + 4]
movss dword [rbp + 0x24], xmm0
call fcn.180035150
movsxd rcx, dword [0x18037bc64]
mov edi, r13d
mov rax, rcx
test ecx, ecx
je 0x18003d265
movss xmm12, dword [0x1801554bc]
movss xmm13, dword [0x1801554ac]
movss xmm14, dword [0x180155488]
mov rsi, r13
test rax, rax
je 0x18003d23b
imul eax, edi, 0xe
xorps xmm7, xmm7
movd xmm15, eax
cvtdq2ps xmm15, xmm15
test rdi, rdi
js 0x18003cedf
cvtsi2ss xmm7, rdi
jmp 0x18003cef7
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 0x18003cf28
cvtsi2ss xmm6, rsi
jmp 0x18003cf40
mov rax, rsi
mov rcx, rsi
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm6, rcx
addss xmm6, xmm6
mov rax, qword [0x1803a3dc0]
mov cl, r13b
sub rax, qword [0x1803a3db8]
mov r14, r13
sar rax, 3
test rax, rax
je 0x18003d0a7
mov rax, qword [0x1803a3db8]
movss xmm0, dword [rax + r14*8]
ucomiss xmm0, xmm7
jp 0x18003d081
jne 0x18003d081
movss xmm0, dword [rax + r14*8 + 4]
ucomiss xmm0, xmm6
jp 0x18003d081
jne 0x18003d081
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.180069da4
mov rbx, rax
test r14, r14
jne 0x18003d01c
movaps xmm0, xmmword [0x180155690]
lea rcx, [rbp + 0xe0]
movups xmmword [rbp + 0xe0], xmm0
call fcn.180069b24
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 0x18003d068
movaps xmm0, xmmword [0x180155680]
lea rcx, [rbp + 0xf0]
movups xmmword [rbp + 0xf0], xmm0
call fcn.180069b24
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.18007ba00
mov cl, 1
mov rax, qword [0x1803a3dc0]
inc r14
sub rax, qword [0x1803a3db8]
sar rax, 3
cmp r14, rax
jb 0x18003cf61
test cl, cl
jne 0x18003d228
mov rax, qword [0x1803a3e10]
mov r14, r13
sub rax, qword [0x1803a3e08]
sar rax, 3
test rax, rax
je 0x18003d1a8
mov rax, qword [0x1803a3e08]
movss xmm0, dword [rax + r14*8 - 8]
ucomiss xmm0, xmm7
jp 0x18003d182
jne 0x18003d182
movss xmm0, dword [rax + r14*8 - 4]
ucomiss xmm0, xmm6
jp 0x18003d182
jne 0x18003d182
call fcn.180069da4
movaps xmm0, xmmword [0x180155640]
lea rcx, [rbp + 0xc0]
movups xmmword [rbp + 0xc0], xmm0
mov rbx, rax
call fcn.180069b24
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.18007ba00
mov cl, 1
mov rax, qword [0x1803a3e10]
inc r14
sub rax, qword [0x1803a3e08]
sar rax, 3
cmp r14, rax
jb 0x18003d0c5
test cl, cl
jne 0x18003d228
call fcn.180069da4
movaps xmm0, xmmword [0x180155650]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
mov rbx, rax
call fcn.180069b24
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.18007b910
movsxd rcx, dword [0x18037bc64]
inc rsi
cmp rsi, rcx
jb 0x18003cef7
inc rdi
movsxd rax, ecx
cmp rdi, rax
jb 0x18003ceb8
movabs rsi, 0xb1f14f06aac58ec6
lea r12, [0x1803a3db8]
movabs r14, 0x4fb923cf0e46c909
call fcn.18006801c
movss xmm0, dword [0x18015552c]
lea rdx, [rbp]
movss dword [rbp + 4], xmm0
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0x4fd54cbd7a28a64a
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.1800654a8
test al, al
je 0x18003d894
call fcn.180069d1c
addss xmm0, dword [0x1801554f8]
call fcn.180074dc0
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov qword [rbp + 8], rsi
test ax, ax
movabs rax, 0x4fb923cf0e46c95e
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 0x18003d327
movaps xmm0, xmmword [0x1801556c0]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800a3a80
jmp 0x18003d330
lea rcx, [rbp]
call fcn.1800a3a58
call fcn.180069d1c
addss xmm0, dword [0x1801554ec]
call fcn.180074dc0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov qword [rbp + 8], rsi
test ax, ax
movabs rax, 0x4fb923cf0e46c948
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 0x18003d395
movaps xmm0, xmmword [0x1801556c0]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800a3a80
jmp 0x18003d39e
lea rcx, [rbp]
call fcn.1800a3a58
movss xmm6, dword [0x180155590]
xorps xmm0, xmm0
movaps xmm1, xmm6
call fcn.180074320
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
mov qword [rbp + 8], rsi
movabs rax, 0x4fb923cf0e46c95a
mov qword [rbp + 0x10], r14
mov qword [rbp], rax
mov qword [rbp + 0x18], rsi
je 0x18003d404
movdqa xmm0, xmmword [rbp]
lea rdx, [rbp]
pxor xmm0, xmmword [rbp + 0x10]
lea rcx, [rbp + 0x40]
movdqa xmmword [rbp], xmm0
movaps xmm0, xmmword [0x1801556c0]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800a3a80
jmp 0x18003d41c
movdqa xmm2, xmmword [rbp]
lea rcx, [rbp]
pxor xmm2, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm2
call fcn.1800a3a58
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180074320
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov qword [rbp + 8], rsi
test ax, ax
movabs rax, 0x4fb923cf0e46c94d
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 0x18003d47a
movaps xmm0, xmmword [0x1801556c0]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800a3a80
jmp 0x18003d483
lea rcx, [rbp]
call fcn.1800a3a58
call fcn.180069d1c
movss xmm8, dword [0x1801554e8]
addss xmm0, xmm8
call fcn.180074dc0
cmp byte [0x1803a4120], r13b
lea r15, [0x1803a40e0]
jne 0x18003d4d1
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 0x18003d4be
mov byte [0x1803a4120], 1
lea rcx, [rbp + 0x10]
call fcn.180069c34
mov rbx, rax
call fcn.18006a6cc
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.18009c730
cmp byte [0x1803a3de4], r13b
jne 0x18003d754
movss xmm0, dword [0x180155508]
lea rdx, [rbp]
movabs rcx, 0x54b9cfe1cfe8dd3b
movss dword [rbp], xmm0
mov qword [rbp + 0x50], rcx
movabs rax, 0x279957bd6136ac5b
mov qword [rbp + 0x40], rax
movabs rax, 0xd4832065d9ade9af
mov qword [rbp + 0x48], rax
movabs rax, 0xefb8dfe0cdd44a38
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.180097090
test al, al
je 0x18003d65c
movdqa xmm0, xmmword [0x1801555b0]
or rbx, 0xffffffffffffffff
mov edi, dword [0x1803a3dfc]
movdqu xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x40], r13
inc rbx
cmp byte [r15 + rbx], r13b
jne 0x18003d5e5
lea rcx, [rbp + 0x40]
cmp rbx, 0xf
ja 0x18003d60e
mov r8, rbx
mov qword [rbp + 0x50], rbx
mov rdx, r15
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rbx + 0x40], r13b
jmp 0x18003d61d
mov r8b, byte [rbp + 0x28]
mov r9, r15
mov rdx, rbx
call fcn.18002e2d0
mov rdx, qword [0x1803a6c60]
lea rcx, [rbp + 0xc0]
xorps xmm0, xmm0
mov qword [rbp + 0xc0], r13
add rdx, 0x418
movdqu xmmword [rbp + 0xd0], xmm0
call fcn.18003f934
mov r8d, edi
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xc0]
call fcn.18003c874
movss xmm0, dword [0x1801554f4]
lea rdx, [rbp]
movss dword [rbp], xmm0
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0x4fb923bb7c27bd5a
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.180097090
test al, al
je 0x18003d754
lea rcx, [rbp + 0x40]
call fcn.1800314d4
mov rbx, rax
cmp r12, rax
je 0x18003d6cd
mov r8b, r13b
mov rdx, rax
mov rcx, r12
call fcn.1800405cc
mov ecx, dword [rbx + 0x18]
mov dword [0x1803a3dd0], ecx
movss xmm0, dword [rbx + 0x1c]
mov rcx, qword [rbp + 0x40]
movss dword [0x1803a3dd4], xmm0
movss xmm1, dword [rbx + 0x20]
movss dword [0x1803a3dd8], xmm1
movss xmm0, dword [rbx + 0x24]
movss dword [0x1803a3ddc], xmm0
movss xmm1, dword [rbx + 0x28]
movss dword [0x1803a3de0], xmm1
mov al, byte [rbx + 0x2c]
mov byte [0x1803a3de4], al
test rcx, rcx
je 0x18003d754
mov rdx, qword [rbp + 0x50]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x18003d74f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003d74f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18014df98
call fcn.180069d1c
movaps xmm6, xmm0
addss xmm6, dword [0x180155518]
call fcn.180069d40
subss xmm0, xmm8
movss dword [rbp], xmm6
lea rcx, [rbp]
movss dword [rbp + 4], xmm0
call fcn.180074d68
mov r8d, dword [0x1803a3df8]
lea rdx, [rbp]
mov qword [rbp + 0x10], r14
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0x6a9919aa7c29aa5a
mov qword [rbp], rax
movabs rax, 0xb1f14f06aac58ea2
mov qword [rbp + 8], rax
movabs rax, 0x4fdc51a06d35ea2a
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.1800a04a8
call fcn.180069d1c
addss xmm0, dword [0x180155518]
call fcn.180074dc0
call fcn.180069d40
subss xmm0, dword [0x1801554c4]
call fcn.180074e00
mov r8d, dword [0x1803a3dfc]
lea rdx, [rbp]
mov qword [rbp + 0x10], r14
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0x3dd640bc6621a041
mov qword [rbp], rax
movabs rax, 0xb1f14f628fe5b4a3
mov qword [rbp + 8], rax
movabs rax, 0x2cca4ba8672eea2a
movdqa xmm0, xmmword [rbp]
pxor xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0x10], rax
movabs rax, 0xb1f14f06aaa0fca9
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.1800a04a8
call fcn.18006801c
call fcn.180067ecc
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