joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14007c320
Capabilities:
Delete directory
Delete file

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rbx, rdx
call method.std::experimental::filesystem::v1.symlink_status_std::experimental::filesystem::v1::__cxx11::path_const__std::error_code_
test al, al
je 0x14007c387
cmp al, 0xff
je 0x14007c378
mov rdx, rbx
mov rcx, rsi
call method.std::experimental::filesystem::v1.status_std::experimental::filesystem::v1::__cxx11::path_const__std::error_code_
cmp al, 2
je 0x14007c390
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14007c39d
mov eax, dword [rbx]
test eax, eax
jne 0x14007c387
call method.std::_V2.system_category__
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rbx + 8], rsi
mov dword [rbx], eax
xor eax, eax
jmp 0x14007c389
call method.std::_V2.system_category__
mov dword [rbx], 0
mov qword [rbx + 8], rax
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x14007c348
call method.std::_V2.system_category__
mov dword [rbx], 0
mov qword [rbx + 8], rax
mov eax, 1
add rsp, 0x28
pop rbx
pop rsi
ret

Function at 0x14007c490
Capabilities:
Move file

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdx, qword [rdx]
mov rcx, qword [rcx]
mov rbx, r8
mov r8d, 3
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x14007c4d0
call method.std::_V2.system_category__
mov dword [rbx], 0
mov qword [rbx + 8], rax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdi, qword [sym.imp.msvcrt.dll__errno]
cmp eax, 5
je 0x14007c508
call rdi
mov dword [rax], 5
call method.std::_V2.generic_category__
mov rsi, rax
call rdi
mov eax, dword [rax]
mov qword [rbx + 8], rsi
mov dword [rbx], eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
call rdi
mov dword [rax], 0xd
jmp 0x14007c4ea

Function at 0x140083650
Capabilities:
Get disk size

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r13, qword [rsp + 0xa0]
mov qword [rsp + 0x28], 0
mov r12, rdx
mov rbp, r8
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x30]
mov rdi, r9
lea r9, [rsp + 0x38]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov esi, eax
call method.std::_V2.system_category__
mov rbx, rax
test esi, esi
je 0x1400836f8
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400836b9
mov qword [r12], rax
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400836c7
mov qword [rbp], rax
mov rax, qword [rsp + 0x28]
test rax, rax
jne 0x1400836f0
mov dword [r13], 0
mov qword [r13 + 8], rbx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov qword [rdi], rax
jmp 0x1400836d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [r13 + 8], rbx
mov dword [r13], eax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
Function at 0x140096cc0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rcx + 8]
mov rdi, rcx
test rax, rax
je 0x140096ce8
xor ecx, ecx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
jmp rax
mov rbp, qword [sym.imp.msvcrt.dll__errno]
mov ebx, 4
lea rsi, [rsp + 0x2c]
nop dword [rax]
mov ecx, dword [rdi + 0x10]
mov r8d, ebx
mov rdx, rsi
call sym.read
test eax, eax
jle 0x140096d30
cdqe
add rsi, rax
sub rbx, rax
jne 0x140096d00
mov eax, dword [rsp + 0x2c]
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
ret
cmp eax, 0xffffffff
jne 0x140096d3c
call rbp
cmp dword [rax], 4
je 0x140096d00
lea rcx, str.random_device_could_not_be_read
call method.std.__throw_runtime_error_char_const_
nop
nop
nop
nop
nop
nop
nop
nop

Function at 0x1400bb890
Capabilities:
Encode data using xor

Disassembly:
movabs r9, 0xc6a4a7935bd1e995
mov rax, rdx
mov r11, rdx
imul rax, r9
and r11, 0xfffffffffffffff8
add r11, rcx
xor rax, r8
cmp rcx, r11
je 0x1400bb8e0
nop dword [rax + rax]
mov r10, qword [rcx]
add rcx, 8
imul r10, r9
mov r8, r10
shr r8, 0x2f
xor r8, r10
imul r8, r9
xor r8, rax
mov rax, r8
imul rax, r9
cmp r11, rcx
jne 0x1400bb8b8
and edx, 7
je 0x1400bb915
sub edx, 1
xor r8d, r8d
movsxd rdx, edx
nop
movzx ecx, byte [r11 + rdx]
shl r8, 8
sub rdx, 1
add r8, rcx
test edx, edx
jns 0x1400bb8f0
xor r8, rax
movabs rax, 0xc6a4a7935bd1e995
imul rax, r8
mov r8, rax
shr r8, 0x2f
xor rax, r8
movabs r8, 0xc6a4a7935bd1e995
imul rax, r8
mov r8, rax
shr r8, 0x2f
xor rax, r8
ret

Function at 0x1400bc550
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, r8
test rdx, rdx
je 0x1400bc57c
movabs r9, 0x100000001b3
add rdx, rcx
nop dword [rax]
movsx r8, byte [rcx]
add rcx, 1
xor rax, r8
imul rax, r9
cmp rcx, rdx
jne 0x1400bc568
ret
Function at 0x140013020
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x68], 0
je 0x140013059
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
jmp 0x140013148
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x50], 0
jle 0x1400130f0
cmp qword [rsp + 0x20], 0
jle 0x1400130f0
mov rax, qword [rsp + 0x20]
cmp qword [rsp + 0x50], rax
jge 0x140013099
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x48]
mov rcx, rax
call fcn.14000a6f0
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
nop
cmp qword [rsp + 0x50], 0
jle 0x140013138
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x80], 0
je 0x140013138
mov rax, qword [rsp + 0x40]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x50]
mov edx, 1
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
sub rcx, rax
mov rax, rcx
add rsp, 0x38
ret
Function at 0x140013150
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [0x1401a4040]
xor rax, rsp
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x90], 0
jg 0x140013184
xor eax, eax
jmp 0x140013381
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x68], 0
je 0x1400131b6
mov r8, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
jmp 0x140013381
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Gnavail_void_const___ptr64]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
jbe 0x140013268
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.14000a6a0
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gptr_void_const___ptr64]
mov r8, qword [rsp + 0x20]
mov rdx, rax
mov rcx, qword [rsp + 0x88]
call fcn.14000a6f0
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov edx, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gbump_int____ptr64]
nop
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x80], 0
je 0x140013371
mov rcx, qword [rsp + 0x80]
call fcn.140015eb0
mov qword [rsp + 0x48], 0xfff
cmp qword [rsp + 0x50], 0xfff
jbe 0x14001331e
mov rax, qword [rsp + 0x80]
mov r9, qword [rax + 0x80]
mov r8d, 0xfff
mov edx, 1
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x28], 0xfff
je 0x140013319
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
jmp 0x140013381
jmp 0x140013294
cmp qword [rsp + 0x50], 0
jbe 0x140013371
mov rax, qword [rsp + 0x80]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x50]
mov edx, 1
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14010f220
add rsp, 0x78
ret
Function at 0x140015f70
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xa8
mov rax, qword [0x1401a4040]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x68], 0
je 0x140015fad
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x140015fb4
mov al, 1
jmp 0x14001610c
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
call fcn.1400185a0
mov dword [rsp + 0x38], eax
mov edx, dword [rsp + 0x38]
mov rcx, qword [rsp + 0xb0]
call qword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
call fcn.1400185a0
mov dword [rsp + 0x40], eax
mov edx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x40]
call fcn.140018600
movzx eax, al
test eax, eax
je 0x140016009
xor al, al
jmp 0x14001610c
mov qword [rsp + 0x60], 0x20
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x90]
mov rcx, qword [rsp + 0xb0]
add rcx, 0x74
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x20], rdx
mov r9, rax
lea r8, [rsp + 0x70]
mov rdx, rcx
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x140016079
cmp dword [rsp + 0x30], 1
je 0x140016085
cmp dword [rsp + 0x30], 3
je 0x1400160fa
jmp 0x14001610a
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x71], 0
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jbe 0x1400160d1
mov rax, qword [rsp + 0xb0]
mov r9, qword [rax + 0x80]
mov r8, qword [rsp + 0x48]
mov edx, 1
lea rcx, [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp qword [rsp + 0x48], rax
je 0x1400160d1
xor al, al
jmp 0x14001610c
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x1400160eb
mov dword [rsp + 0x34], 1
jmp 0x1400160f3
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
jmp 0x14001610c
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x71], 0
mov al, 1
jmp 0x14001610c
xor al, al
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14010f220
add rsp, 0xa8
ret
Function at 0x140026f40
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x98
mov rax, qword [0x1401a4040]
xor rax, rsp
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x58]
lea rcx, str._pipediscord_ipc_0
mov rdi, rax
mov rsi, rcx
mov ecx, 0x2e
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x50], 0x15
mov eax, 2
imul rax, rax, 0x15
mov ecx, 0x30
mov word [rsp + rax + 0x58], cx
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x48]
cmp qword [rax + 8], 0xffffffffffffffff
je 0x140026ff2
mov rax, qword [rsp + 0x48]
mov byte [rax], 1
mov al, 1
jmp 0x14002706c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 2
jne 0x14002703c
mov eax, 2
imul rax, rax, 0x15
movzx eax, word [rsp + rax + 0x58]
cmp eax, 0x39
jge 0x14002703a
mov eax, 2
imul rax, rax, 0x15
movzx eax, word [rsp + rax + 0x58]
inc ax
mov ecx, 2
imul rcx, rcx, 0x15
mov word [rsp + rcx + 0x58], ax
jmp 0x140026fa2
jmp 0x140027063
cmp dword [rsp + 0x40], 0xe7
jne 0x140027063
mov edx, 0x2710
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
jne 0x14002705e
xor al, al
jmp 0x14002706c
jmp 0x140026fa2
xor al, al
jmp 0x14002706c
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.14010f220
add rsp, 0x98
pop rdi
pop rsi
ret

Function at 0x1400270d0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [0x1401a4040]
xor rax, rsp
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x70], 0
jne 0x140027101
mov al, 1
jmp 0x1400271de
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x14002712f
mov r8d, 0x4f
lea rdx, [0x14011f620]
lea rcx, [0x14011f6a8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
cmp qword [rsp + 0x38], 0
jne 0x14002713e
xor al, al
jmp 0x1400271de
mov rax, qword [rsp + 0x38]
cmp qword [rax + 8], 0xffffffffffffffff
jne 0x140027151
xor al, al
jmp 0x1400271de
cmp qword [rsp + 0x68], 0
jne 0x140027175
mov r8d, 0x56
lea rdx, [0x14011f6c0]
lea rcx, [0x14011f748]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
cmp qword [rsp + 0x68], 0
jne 0x140027181
xor al, al
jmp 0x1400271de
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x1400271d1
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x40], eax
jne 0x1400271d1
mov dword [rsp + 0x34], 1
jmp 0x1400271d9
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14010f220
add rsp, 0x58
ret
Function at 0x1400271f0
Capabilities:
Read file on windows
Read pipe

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [0x1401a4040]
xor rax, rsp
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x68], 0
jne 0x140027236
mov r8d, 0x62
lea rdx, [0x14011f760]
lea rcx, [0x14011f7e8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
cmp qword [rsp + 0x68], 0
jne 0x140027245
xor al, al
jmp 0x14002735c
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x140027273
mov r8d, 0x67
lea rdx, [0x14011f800]
lea rcx, str.self
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
cmp qword [rsp + 0x38], 0
jne 0x140027282
xor al, al
jmp 0x14002735c
mov rax, qword [rsp + 0x38]
cmp qword [rax + 8], 0xffffffffffffffff
jne 0x140027295
xor al, al
jmp 0x14002735c
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x14002734f
mov eax, dword [rsp + 0x40]
cmp rax, qword [rsp + 0x70]
jb 0x14002734d
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x44], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x44]
mov r8d, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
jne 0x140027342
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x30], eax
je 0x14002733c
mov r8d, 0x74
lea rdx, str.C:UserspcDesktop_aa_vgV_G_PRVDiscordSDK_srcconnection_win.cpp
lea rcx, str.bytesToRead__bytesRead
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
mov al, 1
jmp 0x14002735c
mov rcx, qword [rsp + 0x60]
call fcn.140027090
nop
jmp 0x14002735a
mov rcx, qword [rsp + 0x60]
call fcn.140027090
nop
xor al, al
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14010f220
add rsp, 0x58
ret
Function at 0x140027700
Capabilities:
Set registry value

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [0x1401a4040]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0
cmp qword [rsp + 0x88], 0
je 0x1400277c4
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, word [rcx + rax]
test eax, eax
je 0x1400277c4
mov qword [rsp + 0x40], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
je 0x1400277ba
mov eax, dword [rsp + 0x50]
jmp 0x140027825
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x98]
xor r8d, r8d
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [rsp + 0x50], eax
cmp qword [rsp + 0x60], 0
je 0x140027821
mov rax, qword [rsp + 0x80]
cmp qword [rsp + 0x60], rax
je 0x140027821
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14010f220
add rsp, 0x78
ret
Function at 0x140027c70
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xaf8
mov rax, qword [0x1401a4040]
xor rax, rsp
mov qword [rsp + 0xae0], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, qword [rsp + 0xb00]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], 0x20
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, qword [rsp + 0xb08]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareValveSteam
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
je 0x140027d42
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_opening_Steam_key_n
mov rcx, rax
call fcn.140027490
nop
jmp 0x140027e4c
mov dword [rsp + 0x48], 0x208
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SteamExe
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x34], eax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
cmp dword [rsp + 0x34], 0
jne 0x140027d97
cmp dword [rsp + 0x48], 1
jae 0x140027db7
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_reading_SteamExe_key_n
mov rcx, rax
call fcn.140027490
nop
jmp 0x140027e4c
mov eax, dword [rsp + 0x48]
xor edx, edx
mov ecx, 2
div rcx
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], 0
jmp 0x140027ddd
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x30], eax
jae 0x140027e0b
mov eax, dword [rsp + 0x30]
movzx eax, word [rsp + rax*2 + 0xd0]
cmp eax, 0x2f
jne 0x140027e09
mov eax, dword [rsp + 0x30]
mov ecx, 0x5c
mov word [rsp + rax*2 + 0xd0], cx
jmp 0x140027dd3
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xd0]
lea r8, str.__s__steam:__rungameid__s
mov edx, 0x800
lea rcx, [rsp + 0x2e0]
call fcn.140027500
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0x90]
call fcn.140027840
nop
mov rcx, qword [rsp + 0xae0]
xor rcx, rsp
call fcn.14010f220
add rsp, 0xaf8
ret
Function at 0x14002b570
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [0x1401a4040]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov edx, 8
lea rcx, [rsp + 0x40]
call fcn.140009f60
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x40]
call fcn.14002bbf0
nop
lea rax, [0x14002bc60]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x60]
add rax, 8
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
call fcn.140005e70
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x38]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x14002b614
lea rcx, [rsp + 0x40]
call fcn.14001d9c0
nop
jmp 0x14002b62c
mov rax, qword [rsp + 0x60]
mov dword [rax + 8], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rcx, [rsp + 0x40]
call fcn.14002b7c0
nop
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14010f220
add rsp, 0x58
ret

Function at 0x14002c240
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0x138
jne 0x14002c263
mov rcx, qword [rsp + 0x40]
call fcn.14002c340
nop
jmp 0x14002c27b
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0x270
jb 0x14002c27b
mov rcx, qword [rsp + 0x40]
call fcn.14002c410
nop
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + rax*8 + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
shr rax, 0x1d
mov rcx, qword [rsp + 0x40]
and rax, qword [rcx + 0x1388]
mov rcx, qword [rsp + 0x20]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
shl rax, 0x11
movabs rcx, 0x71d67fffeda60000
and rax, rcx
mov rcx, qword [rsp + 0x20]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
shl rax, 0x25
movabs rcx, 0xfff7eee000000000
and rax, rcx
mov rcx, qword [rsp + 0x20]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
shr rax, 0x2b
mov rcx, qword [rsp + 0x20]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
add rsp, 0x38
ret