Function at 0x1400194c0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x4a0]
sub rsp, 0x5a0
mov rax, qword [0x14004eef8]
xor rax, rsp
mov qword [rbp + 0x490], rax
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor r12d, r12d
mov dword [rsp + 0x40], r12d
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x1d0], r12
lea esi, [r12 + 7]
mov qword [rbp + 0x1d8], rsi
mov word [rbp + 0x1c0], r12w
mov dword [rbp + 0x190], 0x4d
mov eax, dword [rbp + 0x190]
xor al, 0x43
mov byte [rbp + 0x194], al
mov eax, dword [rbp + 0x190]
inc al
xor al, 0x3a
mov byte [rbp + 0x195], al
mov eax, dword [rbp + 0x190]
add al, 2
mov cl, 0x5c
xor al, cl
mov byte [rbp + 0x196], al
mov eax, dword [rbp + 0x190]
add al, 3
xor al, 0x50
mov byte [rbp + 0x197], al
mov eax, dword [rbp + 0x190]
add al, 4
mov r8b, 0x72
xor al, r8b
mov byte [rbp + 0x198], al
mov eax, dword [rbp + 0x190]
add al, 5
xor al, 0x6f
mov byte [rbp + 0x199], al
mov eax, dword [rbp + 0x190]
add al, 6
xor al, 0x67
mov byte [rbp + 0x19a], al
mov eax, dword [rbp + 0x190]
add al, sil
xor al, r8b
mov byte [rbp + 0x19b], al
mov eax, dword [rbp + 0x190]
add al, 8
mov dl, 0x61
xor al, dl
mov byte [rbp + 0x19c], al
mov eax, dword [rbp + 0x190]
add al, 9
xor al, 0x6d
mov byte [rbp + 0x19d], al
mov eax, dword [rbp + 0x190]
add al, 0xa
xor al, 0x20
mov byte [rbp + 0x19e], al
mov eax, dword [rbp + 0x190]
add al, 0xb
xor al, 0x46
mov byte [rbp + 0x19f], al
mov eax, dword [rbp + 0x190]
add al, 0xc
xor al, 0x69
mov byte [rbp + 0x1a0], al
mov eax, dword [rbp + 0x190]
add al, 0xd
xor al, 0x6c
mov byte [rbp + 0x1a1], al
mov eax, dword [rbp + 0x190]
add al, 0xe
mov r9b, 0x65
xor al, r9b
mov byte [rbp + 0x1a2], al
mov eax, dword [rbp + 0x190]
add al, 0xf
xor al, 0x73
mov byte [rbp + 0x1a3], al
mov eax, dword [rbp + 0x190]
add al, 0x10
xor al, 0x20
mov byte [rbp + 0x1a4], al
mov eax, dword [rbp + 0x190]
add al, 0x11
xor al, 0x28
mov byte [rbp + 0x1a5], al
mov eax, dword [rbp + 0x190]
add al, 0x12
xor al, 0x78
mov byte [rbp + 0x1a6], al
mov eax, dword [rbp + 0x190]
add al, 0x13
xor al, 0x38
mov byte [rbp + 0x1a7], al
mov eax, dword [rbp + 0x190]
add al, 0x14
xor al, 0x36
mov byte [rbp + 0x1a8], al
mov eax, dword [rbp + 0x190]
add al, 0x15
xor al, 0x29
mov byte [rbp + 0x1a9], al
mov eax, dword [rbp + 0x190]
add al, 0x16
xor al, cl
mov byte [rbp + 0x1aa], al
mov eax, dword [rbp + 0x190]
add al, 0x17
xor al, 0x57
mov byte [rbp + 0x1ab], al
mov eax, dword [rbp + 0x190]
add al, 0x18
xor al, r9b
mov byte [rbp + 0x1ac], al
mov eax, dword [rbp + 0x190]
add al, 0x19
xor al, 0x67
mov byte [rbp + 0x1ad], al
mov eax, dword [rbp + 0x190]
add al, 0x1a
xor al, dl
mov byte [rbp + 0x1ae], al
mov eax, dword [rbp + 0x190]
add al, 0x1b
xor al, 0x6d
mov byte [rbp + 0x1af], al
mov eax, dword [rbp + 0x190]
add al, 0x1c
xor al, r9b
mov byte [rbp + 0x1b0], al
mov eax, dword [rbp + 0x190]
add al, 0x1d
xor al, cl
mov byte [rbp + 0x1b1], al
mov eax, dword [rbp + 0x190]
add al, 0x1e
xor al, 0x75
mov byte [rbp + 0x1b2], al
mov eax, dword [rbp + 0x190]
add al, 0x1f
xor al, 0x73
mov byte [rbp + 0x1b3], al
mov eax, dword [rbp + 0x190]
add al, 0x20
xor al, r9b
mov byte [rbp + 0x1b4], al
mov eax, dword [rbp + 0x190]
add al, 0x21
xor al, r8b
mov byte [rbp + 0x1b5], al
mov eax, dword [rbp + 0x190]
add al, 0x22
xor al, 0x2e
mov byte [rbp + 0x1b6], al
mov eax, dword [rbp + 0x190]
add al, 0x23
xor al, 0x64
mov byte [rbp + 0x1b7], al
mov eax, dword [rbp + 0x190]
add al, 0x24
xor al, dl
mov byte [rbp + 0x1b8], al
mov eax, dword [rbp + 0x190]
add al, 0x25
xor al, 0x74
mov byte [rbp + 0x1b9], al
xor eax, eax
mov byte [rbp + 0x1ba], al
mov al, byte [rbp + 0x194]
mov edx, r12d
mov al, byte [rbp + rdx + 0x194]
mov ecx, dword [rbp + 0x190]
add cl, dl
xor cl, al
mov byte [rbp + rdx + 0x194], cl
inc rdx
cmp rdx, 0x26
jb 0x1400197af
mov byte [rbp + 0x1ba], r12b
lea rax, [0x140028b90]
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 0x20]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rsp + 0x40], 2
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ifstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x70], rdi
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x6c], edx
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_filebuf_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp - 0x80], rax
mov byte [rbp - 4], r12b
mov byte [rbp - 0xe], r12b
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::_Init_void____ptr64]
mov qword [rbp], r12
mov rax, qword [0x1400525b0]
mov qword [rbp - 0xc], rax
mov qword [rbp - 0x18], r12
mov r8d, 1
lea rdx, [rbp + 0x194]
lea rcx, [rbp - 0x80]
call fcn.14001d77c
test rax, rax
jne 0x1400198b2
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x70]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx - 0x80], 6
jne 0x1400199f3
lea rax, [rsp + 0x70]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
movzx r8d, ax
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x70]
call fcn.14001e35c
lea rcx, [rbp + 0x1c0]
call fcn.140019324
movabs rax, 0x7ffffffffffffffe
mov rcx, qword [rbp + 0x1d0]
sub rax, rcx
cmp rax, 0x18
jb 0x14001a062
lea rax, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 8
cmovae rax, qword [rbp + 0x1c0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x18
lea r9, str.username_file_cache_hit
lea rcx, [rsp + 0x50]
call fcn.14001df2c
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rax
cmp dword [0x14005237c], r12d
je 0x140019996
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14001e1e4
mov rcx, rax
lea rdx, [0x14001dce8]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
nop
lea rcx, [rsp + 0x50]
call fcn.14000ec50
movups xmm0, xmmword [rbp + 0x1c0]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp + 0x1d0]
movups xmmword [rbx + 0x10], xmm1
mov qword [rbp + 0x1d0], r12
mov qword [rbp + 0x1d8], rsi
mov word [rbp + 0x1c0], r12w
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x70], rdi
mov rcx, qword [rsp + 0x70]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0xb0]
mov dword [rsp + rdx + 0x6c], r8d
jmp 0x14001a004
lea rdx, [0x1400289a8]
lea rcx, [0x140028a00]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wpopen]
mov r15, rax
test rax, rax
jne 0x140019a3f
movups xmm0, xmmword [rbp + 0x1c0]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp + 0x1d0]
movups xmmword [rbx + 0x10], xmm1
mov qword [rbp + 0x1d0], r12
mov qword [rbp + 0x1d8], rsi
mov word [rbp + 0x1c0], r12w
jmp 0x140019fe3
mov r8, r15
mov edx, 0x200
lea rcx, [rbp + 0x290]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetws]
test rax, rax
je 0x140019dcf
or r13, 0xffffffffffffffff
mov qword [rbp + 0x208], r12
mov qword [rbp + 0x218], r12
mov qword [rbp + 0x220], rsi
mov word [rbp + 0x208], r12w
lea rax, [rbp + 0x290]
mov r8, r13
inc r8
cmp word [rax + r8*2], r12w
jne 0x140019a88
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x208]
call fcn.14000f1bc
nop
lea rdx, [0x1400289fc]
lea rcx, [rbp + 0x208]
call fcn.14001cddc
cmp rax, r13
je 0x140019b44
lea rax, [rbp + 0x208]
mov rsi, qword [rbp + 0x208]
cmp qword [rbp + 0x220], 8
cmovae rax, rsi
mov rdi, qword [rbp + 0x218]
test rdi, rdi
je 0x140019aff
mov rcx, rdi
mov r8, rax
cmp word [r8], 0x20
je 0x140019b73
add r8, 2
sub rcx, 1
jne 0x140019aee
mov r8, r13
cmp r8, r13
jne 0x140019d09
lea rdx, str.console
lea rcx, [rbp + 0x208]
call fcn.14001cddc
cmp rax, r13
jne 0x140019c20
lea rdx, str._RDP
lea rcx, [rbp + 0x208]
call fcn.14001cddc
cmp rax, r13
jne 0x140019b80
mov esi, 7
lea rcx, [rbp + 0x208]
call fcn.14000ec50
mov r8, r15
mov edx, 0x200
lea rcx, [rbp + 0x290]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetws]
test rax, rax
je 0x140019dc8
jmp 0x140019a61
test r8, r8
je 0x140019aff
sub r8, rax
sar r8, 1
jmp 0x140019b02
mov qword [rbp + 0x228], r12
movdqa xmm0, xmmword [0x140028cc0]
movdqu xmmword [rbp + 0x238], xmm0
cmp rdi, 1
jb 0x14001a068
lea r8, [rax - 1]
lea rax, [rdi - 1]
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x208]
cmp qword [rbp + 0x220], 8
cmovae rdx, rsi
add rdx, 2
lea rcx, [rbp + 0x228]
call fcn.14000f1bc
mov dword [rsp + 0x40], 0x22
lea rcx, [rbp + 0x1c0]
call fcn.14000ec50
movups xmm0, xmmword [rbp + 0x228]
movups xmmword [rbp + 0x1c0], xmm0
movups xmm1, xmmword [rbp + 0x238]
movdqa xmm0, xmmword [0x140028cc0]
movdqu xmmword [rbp + 0x238], xmm0
mov word [rbp + 0x228], r12w
lea rcx, [rbp + 0x228]
jmp 0x140019da3
lea rax, [rbp + 0x208]
cmp qword [rbp + 0x220], 8
cmovae rax, rsi
test rdi, rdi
je 0x140019c53
mov rcx, rdi
mov r8, rax
cmp word [r8], 0x63
je 0x140019cf5
add r8, 2
sub rcx, 1
jne 0x140019c3e
mov r8, r13
mov qword [rbp + 0x248], r12
movdqa xmm0, xmmword [0x140028cc0]
movdqu xmmword [rbp + 0x258], xmm0
cmp rdi, 1
jb 0x14001a06e
dec r8
lea rax, [rdi - 1]
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x208]
cmp qword [rbp + 0x220], 8
cmovae rdx, rsi
add rdx, 2
lea rcx, [rbp + 0x248]
call fcn.14000f1bc
mov dword [rsp + 0x40], 0x12
lea rcx, [rbp + 0x1c0]
call fcn.14000ec50
movups xmm0, xmmword [rbp + 0x248]
movups xmmword [rbp + 0x1c0], xmm0
movups xmm1, xmmword [rbp + 0x258]
movdqa xmm0, xmmword [0x140028cc0]
movdqu xmmword [rbp + 0x258], xmm0
mov word [rbp + 0x248], r12w
lea rcx, [rbp + 0x248]
jmp 0x140019da3
test r8, r8
je 0x140019c53
sub r8, rax
sar r8, 1
jmp 0x140019c56
mov qword [rbp + 0x268], r12
movdqa xmm0, xmmword [0x140028cc0]
movdqu xmmword [rbp + 0x278], xmm0
cmp rdi, 1
jb 0x14001a05c
dec r8
lea rax, [rdi - 1]
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x208]
cmp qword [rbp + 0x220], 8
cmovae rdx, rsi
add rdx, 2
lea rcx, [rbp + 0x268]
call fcn.14000f1bc
mov dword [rsp + 0x40], 0xa
lea rcx, [rbp + 0x1c0]
call fcn.14000ec50
movups xmm0, xmmword [rbp + 0x268]
movups xmmword [rbp + 0x1c0], xmm0
movups xmm1, xmmword [rbp + 0x278]
movdqa xmm0, xmmword [0x140028cc0]
movdqu xmmword [rbp + 0x278], xmm0
mov word [rbp + 0x268], r12w
lea rcx, [rbp + 0x268]
movups xmmword [rbp + 0x1d0], xmm1
call fcn.14000ec50
lea rcx, [rbp + 0x1c0]
call fcn.140019324
nop
lea rcx, [rbp + 0x208]
call fcn.14000ec50
lea rdi, vtable.std::basic_ifstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__pclose]
mov byte [rbp + 0x1e0], 0x47
mov byte [rbp + 0x1e1], 0x3e
mov byte [rbp + 0x1e2], 0x60
mov byte [rbp + 0x1e3], 0x54
mov byte [rbp + 0x1e4], 0x76
mov byte [rbp + 0x1e5], 0x73
mov byte [rbp + 0x1e6], 0x6b
mov byte [rbp + 0x1e7], 0x76
mov byte [rbp + 0x1e8], 0x65
mov byte [rbp + 0x1e9], 0x71
mov byte [rbp + 0x1ea], 0x24
mov byte [rbp + 0x1eb], 0x4a
mov byte [rbp + 0x1ec], 0x6d
mov byte [rbp + 0x1ed], 0x70
mov byte [rbp + 0x1ee], 0x69
mov byte [rbp + 0x1ef], 0x77
mov byte [rbp + 0x1f0], 0x24
mov byte [rbp + 0x1f1], 0x2c
mov byte [rbp + 0x1f2], 0x7c
mov byte [rbp + 0x1f3], 0x3c
mov byte [rbp + 0x1f4], 0x3a
mov byte [rbp + 0x1f5], 0x2d
mov byte [rbp + 0x1f6], 0x60
mov byte [rbp + 0x1f7], 0x5b
mov byte [rbp + 0x1f8], 0x69
mov byte [rbp + 0x1f9], 0x6b
mov byte [rbp + 0x1fa], 0x65
mov byte [rbp + 0x1fb], 0x71
mov byte [rbp + 0x1fc], 0x69
mov byte [rbp + 0x1fd], 0x60
mov byte [rbp + 0x1fe], 0x79
mov byte [rbp + 0x1ff], 0x77
mov byte [rbp + 0x200], 0x69
mov byte [rbp + 0x201], 0x76
mov byte [rbp + 0x202], 0x32
mov byte [rbp + 0x203], 0x68
mov byte [rbp + 0x204], 0x65
mov byte [rbp + 0x205], 0x78
mov byte [rbp + 0x206], r12b
mov al, byte [rbp + 0x1e0]
mov rcx, r12
mov al, byte [rbp + rcx + 0x1e0]
sub al, 4
mov byte [rbp + rcx + 0x1e0], al
inc rcx
cmp rcx, 0x26
jb 0x140019ef2
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x80]
call fcn.14001bfa4
nop
mov rcx, qword [rbp + 0x80]
movsxd rax, dword [rcx + 4]
test byte [rbp + rax + 0x90], 6
jne 0x140019f65
lea rdx, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 8
cmovae rdx, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1d0]
lea rcx, [rbp + 0x80]
call fcn.14001e1e4
mov rcx, qword [rbp + 0x80]
movups xmm0, xmmword [rbp + 0x1c0]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp + 0x1d0]
movups xmmword [rbx + 0x10], xmm1
mov qword [rbp + 0x1d0], r12
mov qword [rbp + 0x1d8], 7
mov word [rbp + 0x1c0], r12w
movsxd rax, dword [rcx + 4]
lea rcx, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rax + 0x80], rcx
mov rax, qword [rbp + 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x7c], edx
lea rcx, [rbp + 0x88]
call fcn.14001c8b0
lea rcx, [rbp + 0x90]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rbp + 0x128]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x70], rdi
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rbp - 0x80]
call fcn.14001c8b0
lea rcx, [rbp - 0x78]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rbp + 0x20]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x1c0]
call fcn.14000ec50
mov rax, rbx
mov rcx, qword [rbp + 0x490]
xor rcx, rsp
call fcn.140024e80
lea r11, [rsp + 0x5a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret
call fcn.14001616c
nop
call fcn.1400064dc
nop
call fcn.14001616c
int3
call fcn.14001616c
int3