joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14014acf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov r12, r9
mov r13, r8
mov r15, rdx
mov rbp, rcx
mov r14, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x110]
mov rax, qword [0x140196028]
xor rax, rsp
mov qword [rsp + 0x90], rax
test rdi, rdi
jne 0x14014ad3e
call fcn.14012ea80
mov rdi, rax
test r14, r14
cmove r14, rdi
mov rcx, rdi
call fcn.14004ea80
mov rsi, rax
lea rax, [rax*2 + 2]
cmp rax, r15
ja 0x14014adae
lea rax, [rsi + rsi]
mov rbx, rax
not rbx
lea rcx, [r15 + rbx]
dec rcx
cmp rcx, r12
jb 0x14014ad8e
lea rcx, [r15 - 1]
or rax, 1
cmp rcx, rax
jae 0x14014ae0b
mov dword [rsp + 0x20], 0x6d
jmp 0x14014adb6
mov dword [rsp + 0x20], 0x68
lea r9, str....._third_party_boringssl_srccrypto_rsa_extra_rsa_crypt.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x72
jmp 0x14014adcc
mov dword [rsp + 0x20], 0x62
lea r9, str....._third_party_boringssl_srccrypto_rsa_extra_rsa_crypt.c
xor edi, edi
mov ecx, 4
xor edx, edx
mov r8d, 0x7e
call fcn.140145720
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400bd5c0
mov eax, edi
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r12
call fcn.1400966b0
jmp 0x14014add1
xor ecx, ecx
jmp 0x14014adfa
xor ecx, ecx
xor edi, edi
jmp 0x14014adfa
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
mov byte [rbp], 0
lea r8, [rsi + rbp]
inc r8
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x40], r8
xor r9d, r9d
call fcn.14004ea90
xor ecx, ecx
mov edi, 0
test eax, eax
je 0x14014adfa
mov rdi, qword [rsp + 0x38]
sub rdi, r12
add rbx, rdi
mov rcx, qword [rsp + 0x40]
je 0x14014ae7b
mov rax, qword [rsp + 0x40]
lea rcx, [rax + rsi]
xor edx, edx
mov r8, rbx
call fcn.1400bf710
mov rcx, qword [rsp + 0x40]
lea rax, [rbp + 1]
mov qword [rsp + 0x48], rax
mov rax, rsi
not rax
add rdi, rax
mov byte [rcx + rdi], 1
test r12, r12
mov rbx, rcx
je 0x14014aeb3
add rbp, rsi
add rbp, r15
sub rbp, r12
sub rbp, rsi
mov rcx, rbp
mov rdx, r13
mov r8, r12
call fcn.1400bf060
mov r13, qword [rsp + 0x48]
mov rcx, r13
mov rdx, rsi
call fcn.140094300
test eax, eax
je 0x14014ae05
mov r15, qword [rsp + 0x38]
sub r15, rsi
mov rcx, r15
call fcn.140096650
xor edi, edi
test rax, rax
je 0x14014ae01
mov r12, rax
mov qword [rsp + 0x20], r14
mov rcx, rax
mov rdx, r15
mov r8, r13
mov r9, rsi
call fcn.1400508f0
test eax, eax
je 0x14014adf7
cmp qword [rsp + 0x38], rsi
je 0x14014af2a
cmp r15, 1
mov rax, r15
adc rax, 0
xor ecx, ecx
mov dl, byte [r12 + rcx]
xor byte [rbx + rcx], dl
inc rcx
cmp rax, rcx
jne 0x14014af1b
movaps xmm0, xmmword [0x14016f5f0]
lea rcx, [rsp + 0x50]
movaps xmmword [rcx + 0x30], xmm0
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
mov qword [rsp + 0x20], r14
mov rdx, rsi
mov r8, rbx
mov r9, r15
call fcn.1400508f0
test eax, eax
je 0x14014adf7
mov edi, 1
test rsi, rsi
je 0x14014adf7
xor eax, eax
mov cl, byte [rsp + rax + 0x50]
xor byte [r13 + rax], cl
inc rax
cmp rsi, rax
jne 0x14014af70
jmp 0x14014adf7
Function at 0x140152680
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x110
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x140196028]
xor rax, rsp
mov qword [rsp + 0x108], rax
movaps xmm0, xmmword [0x14016f5f0]
lea r14, [rsp + 0xc0]
movaps xmmword [r14 + 0x30], xmm0
movaps xmmword [r14 + 0x20], xmm0
movaps xmmword [r14 + 0x10], xmm0
movaps xmmword [r14], xmm0
mov edx, 0x20
mov rcx, r8
mov r8, r14
call fcn.14012ed10
and byte [r14], 0xf8
mov al, byte [r14 + 0x1f]
and al, 0x3f
or al, 0x40
mov byte [r14 + 0x1f], al
lea r15, [rsp + 0x20]
mov r8d, 0xa0
mov rcx, r15
mov dl, 0xaa
call fcn.1400bf710
lea r8, [0x140183d70]
mov rcx, r15
mov rdx, r14
call fcn.1400ad970
mov rcx, rdi
mov rdx, r15
call fcn.140151660
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.1400bd5c0
nop
add rsp, 0x110
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x14015c920
Capabilities:
Read file via mapping

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
cmp dword [r8], 0
jle 0x14015c95f
xor eax, eax
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
cmp ecx, 0x8007000e
jne 0x14015c92f
mov dword [rsi], 7
jmp 0x14015c92f
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
call fcn.14006f6f0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x10000080
mov dword [rsp + 0x20], 3
mov rcx, rbx
mov edx, 0x80000000
mov r8d, 1
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
je 0x14015c93b
mov r14, rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rax
xor edx, edx
mov r8d, 2
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rbx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
je 0x14015c93b
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rdi + 8], rax
test rax, rax
je 0x14015ca11
mov qword [rdi + 0x28], rbx
mov al, 1
jmp 0x14015c931
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14015c92f
Function at 0x140003860
Capabilities:
Download url
Receive data

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
cmp qword [rdx + 0x18], 0x10
mov rbx, rdx
mov rdi, rcx
mov r8, rdx
jb 0x140003882
mov r8, qword [rdx]
cmp qword [rcx + 0x18], 0x10
mov rdx, rdi
jb 0x14000388f
mov rdx, qword [rcx]
xor esi, esi
xor r9d, r9d
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call qword [sym.imp.urlmon.dll_URLDownloadToFileA]
mov rdx, qword [rdi + 0x18]
test eax, eax
jne 0x140003930
cmp rdx, 0x10
jb 0x1400038e3
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x1400038de
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400039c8
mov rcx, r8
call fcn.14017f084
mov byte [rdi], sil
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0xf
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x14000392c
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140003927
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400039c8
mov rcx, r8
call fcn.14017f084
mov al, 1
jmp 0x1400039a9
cmp rdx, 0x10
jb 0x140003962
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14000395d
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400039c8
mov rcx, r8
call fcn.14017f084
mov byte [rdi], sil
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0xf
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400039a7
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1400039a2
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400039c8
mov rcx, r8
call fcn.14017f084
xor al, al
mov byte [rbx], sil
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140005260
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x1401ed020]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, r8
test r8, r8
je 0x1400052f3
test rcx, rcx
jne 0x1400052af
lea r8d, [rcx + 0x4f]
lea rcx, str.self
lea rdx, str.C:UsersVoxDesktopImGui_External_Base_mainDiscordSDK_srcconnection_win.cpp
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor al, al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14017edd0
add rsp, 0x40
pop rbx
ret
mov rcx, qword [rcx + 8]
cmp rcx, 0xffffffffffffffff
je 0x14000529a
test rdx, rdx
jne 0x1400052d2
lea r8d, [rdx + 0x56]
lea rdx, str.C:UsersVoxDesktopImGui_External_Base_mainDiscordSDK_srcconnection_win.cpp
lea rcx, [0x140183460]
jmp 0x140005294
xor eax, eax
lea r9, [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x14000529a
cmp dword [rsp + 0x30], ebx
jne 0x14000529a
mov al, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14017edd0
add rsp, 0x40
pop rbx
ret

Function at 0x140005310
Capabilities:
Read file on windows
Read pipe

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x1401ed020]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
test rdx, rdx
jne 0x140005354
lea r8d, [rdx + 0x62]
lea rdx, str.C:UsersVoxDesktopImGui_External_Base_mainDiscordSDK_srcconnection_win.cpp
lea rcx, [0x140183460]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor al, al
jmp 0x14000541c
test rbx, rbx
jne 0x140005378
lea r8d, [rbx + 0x67]
lea rdx, str.C:UsersVoxDesktopImGui_External_Base_mainDiscordSDK_srcconnection_win.cpp
lea rcx, str.self
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor al, al
jmp 0x14000541c
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x78], rbp
cmp rcx, 0xffffffffffffffff
je 0x140005415
xor ebp, ebp
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rbp
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
mov dword [rsp + 0x30], ebp
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x140005400
mov eax, dword [rsp + 0x30]
cmp rax, rdi
jb 0x140005415
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x34]
mov r8d, edi
mov dword [rsp + 0x34], ebp
mov rdx, rsi
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
jne 0x140005400
cmp edi, dword [rsp + 0x34]
je 0x1400053fc
lea r8d, [rbp + 0x74]
lea rdx, str.C:UsersVoxDesktopImGui_External_Base_mainDiscordSDK_srcconnection_win.cpp
lea rcx, str.bytesToRead__bytesRead
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov al, 1
jmp 0x140005417
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [rbx], bpl
mov qword [rbx + 8], 0xffffffffffffffff
xor al, al
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14017edd0
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
Function at 0x140007c10
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r10, rcx
mov r9d, 0x138
mov ecx, dword [rcx]
cmp ecx, r9d
jne 0x140007c82
lea r8, [r10 + 0x10]
movabs r11, 0xb5026f5aa96619e9
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r8 - 8]
xor edx, dword [r8]
lea r8, [r8 + 8]
btr edx, 0x1f
xor rdx, qword [r8 - 0x10]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r8 + 0x4d0]
xor rcx, rdx
mov qword [r8 + 0x9b0], rcx
sub r9, 1
jne 0x140007c40
mov ecx, dword [r10]
jmp 0x140007d83
cmp ecx, 0x270
jb 0x140007d83
mov qword [rsp + 0x10], rbx
movabs r11, 0xb5026f5aa96619e9
lea rbx, [r10 + 0x9c8]
mov qword [rsp], rdi
mov rax, qword [rbx]
mov edi, 0x9c
mov rdx, qword [rbx + 8]
lea r8, [rbx + 8]
xor rdx, rax
btr edx, 0x1f
xor rdx, rax
movzx eax, dl
and al, 1
neg al
mov rax, qword [r8]
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [rbx + 0x4e0]
xor rcx, rdx
mov qword [rbx - 0x9c0], rcx
lea rbx, [r8]
sub rdi, 1
jne 0x140007cb0
lea rbx, [r10 + 0xea8]
mov edi, 0x9b
mov rax, qword [rbx]
nop
mov rdx, rax
lea r8, [rbx + 8]
xor rdx, qword [r8]
btr edx, 0x1f
xor rdx, rax
movzx eax, dl
and al, 1
neg al
mov rax, qword [r8]
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [rbx - 0xea0]
xor rcx, rdx
mov qword [rbx - 0x9c0], rcx
lea rbx, [r8]
sub rdi, 1
jne 0x140007d00
mov edx, dword [r10 + 0x1380]
xor edx, dword [r10 + 8]
mov rdi, qword [rsp]
btr edx, 0x1f
xor rdx, qword [r10 + 0x1380]
mov rbx, qword [rsp + 0x10]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r10 + 0x4e0]
xor rcx, rdx
mov qword [r10 + 0x9c0], rcx
xor ecx, ecx
mov dword [r10], ecx
mov eax, ecx
mov rdx, qword [r10 + rax*8 + 8]
lea eax, [rcx + 1]
mov dword [r10], eax
mov rcx, rdx
mov rax, qword [r10 + 0x1388]
shr rcx, 0x1d
and rax, rcx
movabs rcx, 0x38eb3ffff6d3
xor rdx, rax
mov rax, rdx
and rax, rcx
shl rax, 0x11
xor rdx, rax
mov rax, rdx
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rdx, rax
mov rax, rdx
shr rax, 0x2b
xor rax, rdx
add rsp, 8
ret
Function at 0x14000f740
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je 0x14000f768
add rsp, 0x20
pop r15
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 rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x14000f78e
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x14000f790
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x14000f7e9
test ecx, ecx
jle 0x14000f7c9
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x14000f7e9
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x14000f7e9
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret

Function at 0x14000f810
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x14000f832
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x14000f848
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 rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x14000f864
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x14000f866
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14000f8a2
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x14000f93e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x14000f8dd
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x14000f91e
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x14000f93e
cmp rbx, rax
ja 0x14000f8f0
test rbx, rbx
je 0x14000f93e
mov r9, qword [rsi + 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 rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
Function at 0x14000fd50
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x1401ed020]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x14000fd7d
xor eax, eax
jmp 0x14000feda
mov rdx, qword [rcx + 0x40]
mov rax, qword [rdx]
test rax, rax
je 0x14000fda8
mov rdx, qword [rcx + 0x58]
movsxd r8, dword [rdx]
add r8, rax
cmp rax, r8
jae 0x14000fda8
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], dil
mov eax, edi
jmp 0x14000feda
cmp qword [rcx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14000fecd
mov r8, qword [rcx + 0x18]
lea rax, [rcx + 0x70]
cmp qword [r8], rax
jne 0x14000fdeb
mov rdx, qword [rcx + 0x90]
mov rcx, qword [rcx + 0x88]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x14000fe16
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14000fed2
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 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 0x14000fe85
sub eax, 1
je 0x14000fe85
cmp eax, 2
jne 0x14000fecd
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14000fed2
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x14000feb3
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x14000fecd
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x14000fed2
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14017edd0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x1400103c0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x1401ed020]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140010493
cmp byte [rcx + 0x71], 0
je 0x140010493
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14001048f
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 0x140010454
sub eax, 1
je 0x140010458
cmp eax, 2
jne 0x14001048f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14017edd0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140010486
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 0x14001048f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14001043c
xor al, al
jmp 0x14001043c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14017edd0
add rsp, 0x60
pop rbx
ret
Function at 0x14001cca0
Capabilities:
Allocate or change rwx memory
Create thread
Inject thread
Spawn thread to rwx shellcode

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x40
mov r8, qword [rdx + 0x10]
mov rbx, rdx
inc r8
mov dword [rsp + 0x20], 0x40
xor edx, edx
mov r9d, 0x1000
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rbp, rax
test rax, rax
jne 0x14001cd1d
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x14001cd11
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14001cd0c
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001ce3c
mov rcx, r8
call fcn.14017f084
xor edi, edi
mov byte [rbx], 0
xor al, al
jmp 0x14001ce23
mov r9, qword [rbx + 0x10]
mov r8, rbx
inc r9
cmp qword [rbx + 0x18], 0x10
jb 0x14001cd31
mov r8, qword [rbx]
xor edi, edi
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x14001cd9e
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rbp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x14001cd97
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14001cd92
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001ce3c
mov rcx, r8
call fcn.14017f084
xor al, al
jmp 0x14001ce20
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x14001cd48
lea rdx, [0x1401a3178]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov r9, rax
mov dword [rsp + 0x28], edi
xor edx, edx
mov qword [rsp + 0x20], rbp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test rax, rax
je 0x14001cd48
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x14001ce1e
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14001ce19
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001ce3c
mov rcx, r8
call fcn.14017f084
mov al, 1
mov byte [rbx], dil
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 0xf
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3