Function at 0x18003f7ac
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 [0x180159658]
lea rcx, [rbp + 0x20]
movss xmm1, dword [0x18015967c]
xor edx, edx
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
call fcn.180078840
movabs rax, 0xec8ee0810b58cf64
lea rcx, [rbp]
mov qword [rbp], rax
xor edx, edx
movabs rax, 0x5bf85949046e21ad
movabs r14, 0x8de9c0e46039a137
mov qword [rbp + 8], rax
movabs rsi, 0x5bf85949046e44c0
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.180066a98
movss xmm1, dword [0x180159654]
lea rdx, [rbp + 0x20]
mov qword [rbp + 8], rsi
lea rcx, [rbp]
movabs rax, 0x8de9c0e40554c070
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.180068910
xor r13d, r13d
lea r12, [0x1803ae0b8]
test al, al
je 0x18003fd12
lea rcx, [rbp + 0x20]
call fcn.18006d13c
lea rcx, [rbp]
call fcn.18006de80
movss xmm0, dword [rbp + 0x20]
lea rcx, [rbp]
addss xmm0, dword [rax]
movss dword [rbp + 0x20], xmm0
call fcn.18006de80
movss xmm0, dword [rbp + 0x24]
mov rcx, r12
addss xmm0, dword [rax + 4]
movss dword [rbp + 0x24], xmm0
call fcn.180037ba4
movsxd rcx, dword [0x18037fc64]
mov edi, r13d
mov rax, rcx
test ecx, ecx
je 0x18003fd0d
movss xmm12, dword [0x1801595cc]
movss xmm13, dword [0x1801595bc]
movss xmm14, dword [0x180159598]
mov rsi, r13
test rax, rax
je 0x18003fce3
imul eax, edi, 0xe
xorps xmm7, xmm7
movd xmm15, eax
cvtdq2ps xmm15, xmm15
test rdi, rdi
js 0x18003f987
cvtsi2ss xmm7, rdi
jmp 0x18003f99f
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 0x18003f9d0
cvtsi2ss xmm6, rsi
jmp 0x18003f9e8
mov rax, rsi
mov rcx, rsi
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm6, rcx
addss xmm6, xmm6
mov rax, qword [0x1803ae0c0]
mov cl, r13b
sub rax, qword [0x1803ae0b8]
mov r14, r13
sar rax, 3
test rax, rax
je 0x18003fb4f
mov rax, qword [0x1803ae0b8]
movss xmm0, dword [rax + r14*8]
ucomiss xmm0, xmm7
jp 0x18003fb29
jne 0x18003fb29
movss xmm0, dword [rax + r14*8 + 4]
ucomiss xmm0, xmm6
jp 0x18003fb29
jne 0x18003fb29
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.18006d20c
mov rbx, rax
test r14, r14
jne 0x18003fac4
movaps xmm0, xmmword [0x1801597a0]
lea rcx, [rbp + 0xe0]
movups xmmword [rbp + 0xe0], xmm0
call fcn.18006cf8c
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 0x18003fb10
movaps xmm0, xmmword [0x180159790]
lea rcx, [rbp + 0xf0]
movups xmmword [rbp + 0xf0], xmm0
call fcn.18006cf8c
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.18007ee90
mov cl, 1
mov rax, qword [0x1803ae0c0]
inc r14
sub rax, qword [0x1803ae0b8]
sar rax, 3
cmp r14, rax
jb 0x18003fa09
test cl, cl
jne 0x18003fcd0
mov rax, qword [0x1803ae110]
mov r14, r13
sub rax, qword [0x1803ae108]
sar rax, 3
test rax, rax
je 0x18003fc50
mov rax, qword [0x1803ae108]
movss xmm0, dword [rax + r14*8 - 8]
ucomiss xmm0, xmm7
jp 0x18003fc2a
jne 0x18003fc2a
movss xmm0, dword [rax + r14*8 - 4]
ucomiss xmm0, xmm6
jp 0x18003fc2a
jne 0x18003fc2a
call fcn.18006d20c
movaps xmm0, xmmword [0x180159750]
lea rcx, [rbp + 0xc0]
movups xmmword [rbp + 0xc0], xmm0
mov rbx, rax
call fcn.18006cf8c
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.18007ee90
mov cl, 1
mov rax, qword [0x1803ae110]
inc r14
sub rax, qword [0x1803ae108]
sar rax, 3
cmp r14, rax
jb 0x18003fb6d
test cl, cl
jne 0x18003fcd0
call fcn.18006d20c
movaps xmm0, xmmword [0x180159760]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
mov rbx, rax
call fcn.18006cf8c
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.18007eda0
movsxd rcx, dword [0x18037fc64]
inc rsi
cmp rsi, rcx
jb 0x18003f99f
inc rdi
movsxd rax, ecx
cmp rdi, rax
jb 0x18003f960
movabs rsi, 0x5bf85949046e44c0
lea r12, [0x1803ae0b8]
movabs r14, 0x8de9c0e46039a137
call fcn.18006b484
movss xmm0, dword [0x18015963c]
lea rdx, [rbp]
movss dword [rbp + 4], xmm0
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0x8d85af961457ce74
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.180068910
test al, al
je 0x18004033c
call fcn.18006d184
addss xmm0, dword [0x180159608]
call fcn.180078228
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov qword [rbp + 8], rsi
test ax, ax
movabs rax, 0x8de9c0e46039a160
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 0x18003fdcf
movaps xmm0, xmmword [0x1801597d0]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800a6f08
jmp 0x18003fdd8
lea rcx, [rbp]
call fcn.1800a6ee0
call fcn.18006d184
addss xmm0, dword [0x1801595fc]
call fcn.180078228
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov qword [rbp + 8], rsi
test ax, ax
movabs rax, 0x8de9c0e46039a176
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 0x18003fe3d
movaps xmm0, xmmword [0x1801597d0]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800a6f08
jmp 0x18003fe46
lea rcx, [rbp]
call fcn.1800a6ee0
movss xmm6, dword [0x1801596a0]
xorps xmm0, xmm0
movaps xmm1, xmm6
call fcn.180077788
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
mov qword [rbp + 8], rsi
movabs rax, 0x8de9c0e46039a164
mov qword [rbp + 0x10], r14
mov qword [rbp], rax
mov qword [rbp + 0x18], rsi
je 0x18003feac
movdqa xmm0, xmmword [rbp]
lea rdx, [rbp]
pxor xmm0, xmmword [rbp + 0x10]
lea rcx, [rbp + 0x40]
movdqa xmmword [rbp], xmm0
movaps xmm0, xmmword [0x1801597d0]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800a6f08
jmp 0x18003fec4
movdqa xmm2, xmmword [rbp]
lea rcx, [rbp]
pxor xmm2, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm2
call fcn.1800a6ee0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180077788
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov qword [rbp + 8], rsi
test ax, ax
movabs rax, 0x8de9c0e46039a173
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 0x18003ff22
movaps xmm0, xmmword [0x1801597d0]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
call fcn.1800a6f08
jmp 0x18003ff2b
lea rcx, [rbp]
call fcn.1800a6ee0
call fcn.18006d184
movss xmm8, dword [0x1801595f8]
addss xmm0, xmm8
call fcn.180078228
cmp byte [0x1803ae420], r13b
lea r15, [0x1803ae3e0]
jne 0x18003ff79
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 0x18003ff66
mov byte [0x1803ae420], 1
lea rcx, [rbp + 0x10]
call fcn.18006d09c
mov rbx, rax
call fcn.18006db34
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.18009fbc0
cmp byte [0x1803ae0e4], r13b
jne 0x1800401fc
movss xmm0, dword [0x180159618]
lea rdx, [rbp]
movabs rcx, 0xff31da6e3f156e9
movss dword [rbp], xmm0
mov qword [rbp + 0x50], rcx
movabs rax, 0xe5c9b4960f49c465
mov qword [rbp + 0x40], rax
movabs rax, 0x3e8a362a770623a9
mov qword [rbp + 0x48], rax
movabs rax, 0xe1f0e2a36ef3101a
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.18009a520
test al, al
je 0x180040104
movdqa xmm0, xmmword [0x1801596c0]
or rbx, 0xffffffffffffffff
mov edi, dword [0x1803ae0fc]
movdqu xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x40], r13
inc rbx
cmp byte [r15 + rbx], r13b
jne 0x18004008d
lea rcx, [rbp + 0x40]
cmp rbx, 0xf
ja 0x1800400b6
mov r8, rbx
mov qword [rbp + 0x50], rbx
mov rdx, r15
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rbx + 0x40], r13b
jmp 0x1800400c5
mov r8b, byte [rbp + 0x28]
mov r9, r15
mov rdx, rbx
call fcn.180030ac0
mov rdx, qword [0x1803b0f80]
lea rcx, [rbp + 0xc0]
xorps xmm0, xmm0
mov qword [rbp + 0xc0], r13
add rdx, 0x440
movdqu xmmword [rbp + 0xd0], xmm0
call fcn.1800423dc
mov r8d, edi
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xc0]
call fcn.18003f31c
movss xmm0, dword [0x180159604]
lea rdx, [rbp]
movss dword [rbp], xmm0
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0x8de9c0901258d564
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.18009a520
test al, al
je 0x1800401fc
lea rcx, [rbp + 0x40]
call fcn.180033cc4
mov rbx, rax
cmp r12, rax
je 0x180040175
mov r8b, r13b
mov rdx, rax
mov rcx, r12
call fcn.18004306c
mov ecx, dword [rbx + 0x18]
mov dword [0x1803ae0d0], ecx
movss xmm0, dword [rbx + 0x1c]
mov rcx, qword [rbp + 0x40]
movss dword [0x1803ae0d4], xmm0
movss xmm1, dword [rbx + 0x20]
movss dword [0x1803ae0d8], xmm1
movss xmm0, dword [rbx + 0x24]
movss dword [0x1803ae0dc], xmm0
movss xmm1, dword [rbx + 0x28]
movss dword [0x1803ae0e0], xmm1
mov al, byte [rbx + 0x2c]
mov byte [0x1803ae0e4], al
test rcx, rcx
je 0x1800401fc
mov rdx, qword [rbp + 0x50]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x1800401f7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800401f7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180152208
call fcn.18006d184
movaps xmm6, xmm0
addss xmm6, dword [0x180159628]
call fcn.18006d1a8
subss xmm0, xmm8
movss dword [rbp], xmm6
lea rcx, [rbp]
movss dword [rbp + 4], xmm0
call fcn.1800781d0
mov r8d, dword [0x1803ae0f8]
lea rdx, [rbp]
mov qword [rbp + 0x10], r14
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0xa8c9fa811256c264
mov qword [rbp], rax
movabs rax, 0x5bf85949046e44a4
mov qword [rbp + 8], rax
movabs rax, 0x8d8cb28b034a8214
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.1800a3938
call fcn.18006d184
addss xmm0, dword [0x180159628]
call fcn.180078228
call fcn.18006d1a8
subss xmm0, dword [0x1801595d4]
call fcn.180078268
mov r8d, dword [0x1803ae0fc]
lea rdx, [rbp]
mov qword [rbp + 0x10], r14
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x18], rsi
movabs rax, 0xff86a397085ec87f
mov qword [rbp], rax
movabs rax, 0x5bf8592d214e7ea5
mov qword [rbp + 8], rax
movabs rax, 0xee9aa88309518214
movdqa xmm0, xmmword [rbp]
pxor xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0x10], rax
movabs rax, 0x5bf85949040b36af
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.1800a3938
call fcn.18006b484
call fcn.18006b334
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