joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400042c0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x14000431d
lea rbx, [0x140148ab0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x140004304
cmp r10, 2
jb 0x140004304
cmp byte [r9], r8b
jne 0x140004304
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x1400042e0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x14000435f
lea rbx, [0x140148ab0]
cmp r8b, 0x23
jne 0x140004343
cmp byte [r9], r8b
jne 0x140004343
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x140004330
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x140004520
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov rdi, r8
mov rbx, rcx
test rcx, rcx
jne 0x14000454f
mov r8d, 0x7bc
lea rdx, str.C:UsersCheetosPicturesTodoDeus___copia___copiaimgui.cpp
lea rcx, str.filename__mode
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test rdi, rdi
je 0x14000455b
mov qword [rdi], 0
lea rdx, [0x1401482d8]
mov rcx, rbx
call fcn.140004370
mov rbx, rax
test rax, rax
jne 0x14000457d
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x38], rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebp, eax
cmp eax, 0xffffffff
je 0x140004656
xor edx, edx
mov r8d, 2
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140004656
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rsi, eax
cmp esi, 0xffffffff
je 0x140004656
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140004656
cmp rsi, 0xffffffffffffffff
je 0x140004656
mov rax, qword [0x140263950]
test rax, rax
je 0x1400045f3
inc dword [rax + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
test rax, rax
je 0x140004656
mov r9, rbx
mov r8, rsi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rsi
je 0x140004643
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x140263950]
test rax, rax
je 0x140004638
dec dword [rax + 0xf4]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14000465f
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test rdi, rdi
je 0x140004651
mov qword [rdi], rsi
mov rax, rbp
jmp 0x140004661
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140007e10
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov dword [rsp + 0x10], edx
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xf0], 0
mov rsi, rcx
movsxd rdi, edx
jg 0x140007e4c
mov r8d, 0x70b
lea rdx, str.C:UsersCheetosPicturesTodoDeus___copia___copiaimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 0xf8]
lea rdx, [0x140148ab0]
movsxd r8, dword [rsi + 0xf0]
mov ebx, dword [rax + r8*4 - 4]
not ebx
movzx eax, dil
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x39]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3a]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3b]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [rdx + rcx*4]
mov rcx, qword [rsi]
not ebx
cmp dword [rcx + 0x3f38], ebx
jne 0x140007ec7
mov r8, rdi
mov edx, 4
mov ecx, ebx
call fcn.14001e3e0
mov rsi, qword [rsp + 0x40]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1400171d0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rbx, qword [0x140263950]
mov edi, ecx
cmp byte [rbx + 0x4a75], 0
jne 0x140017222
cmp byte [rbx + 0x4a76], 0
jne 0x140017222
movsx r9d, word [rbx + 0x5b82]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.140004120
test dil, 1
je 0x14001734f
jmp 0x1400172ad
movss xmm1, dword [rbx + 0x38bc]
lea r8, str.Tooltip__02d
movaps xmm0, xmm1
lea rcx, [rsp + 0x20]
mulss xmm0, dword [0x1401830cc]
xor eax, eax
mov edx, reloc.WS2_32.dll_recv
mulss xmm1, dword [0x1401830b4]
addss xmm0, dword [rbx + 0xe08]
addss xmm1, dword [rbx + 0xe0c]
mov qword [rbx + 0x47e0], rax
mov dword [rbx + 0x47cc], 1
movss dword [rbx + 0x47d8], xmm0
movss dword [rbx + 0x47dc], xmm1
movss xmm0, dword [rbx + 0x3924]
mulss xmm0, dword [0x140183040]
or dword [rbx + 0x47c8], 0x41
movss dword [rbx + 0x4828], xmm0
movsx r9d, word [rbx + 0x5b82]
call fcn.140004120
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140017300
lea r11, [0x140148ab0]
nop dword [rax]
cmp r9b, 0x23
jne 0x1400172e3
cmp byte [r8], r9b
jne 0x1400172e3
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x1400172d0
not ecx
call fcn.14000c270
test rax, rax
je 0x14001734f
cmp byte [rax + 0xb6], 0
je 0x14001734f
mov byte [rax + 0xbb], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xbd], 1
lea rcx, [rsp + 0x20]
mov byte [rax + 0xd8], 1
mov edx, reloc.WS2_32.dll_recv
inc word [rbx + 0x5b82]
movsx r9d, word [rbx + 0x5b82]
call fcn.140004120
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.14000ed90
mov rbx, qword [rsp + 0x40]
mov al, 1
add rsp, 0x30
pop rdi
ret
Function at 0x14001ca90
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x5c68], 0
lea rbx, [rcx + 0x5c70]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x14001cb37
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x14001caea
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.14001f220
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.140004ab0
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x5c68]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x5c78]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x140263948]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x14001cb3f
mov rcx, rbx
call fcn.140004ab0
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x14001cef0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
movzx r8d, byte [rcx]
lea rdx, [rcx + 1]
mov r14, qword [0x140263950]
mov r9d, 0xffffffff
mov ebx, r9d
test r8b, r8b
je 0x14001cf54
lea r10, [0x140148ab0]
cmp r8b, 0x23
jne 0x14001cf37
cmp byte [rdx], r8b
jne 0x14001cf37
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x14001cf24
mov eax, dword [r14 + 0x5be0]
xor edi, edi
mov qword [rsp + 0x30], rbp
not ebx
mov qword [rsp + 0x38], rsi
test eax, eax
jle 0x14001cfb5
mov esi, edi
mov ebp, edi
test rsi, rsi
js 0x14001cf7a
cmp edi, eax
jl 0x14001cf94
mov r8d, 0x702
lea rdx, str.C:UsersCheetosPicturesTodoDeus___copia___copiaimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [r14 + 0x5be8]
cmp dword [rax + rbp + 8], ebx
je 0x14001cfd2
mov eax, dword [r14 + 0x5be0]
inc edi
inc rsi
add rbp, 0x48
cmp edi, eax
jl 0x14001cf71
xor eax, eax
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
test edi, edi
js 0x14001cfdf
cmp edi, dword [r14 + 0x5be0]
jl 0x14001cff9
mov r8d, 0x702
lea rdx, str.C:UsersCheetosPicturesTodoDeus___copia___copiaimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, edi
lea rcx, [rax + rax*8]
mov rax, qword [r14 + 0x5be8]
lea rax, [rax + rcx*8]
jmp 0x14001cfb7
Function at 0x14003f7d0
Capabilities:
Enumerate processes

Disassembly:
push rsi
sub rsp, 0x150
mov rsi, rdx
test rdx, rdx
jne 0x14003f7ec
xor eax, eax
add rsp, 0x150
pop rsi
ret
mov qword [rsp + 0x160], rbx
xor edx, edx
mov qword [rsp + 0x168], rbp
mov ecx, 2
mov qword [rsp + 0x170], rdi
xor edi, edi
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x130
mov rcx, rax
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
lea rdx, [rsp + 0x20]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
je 0x14003f872
mov rdx, rsi
lea rcx, [rsp + 0x4c]
call qword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
test eax, eax
jne 0x14003f860
mov eax, dword [rsp + 0x3c]
cmp eax, ebx
jbe 0x14003f860
mov edi, dword [rsp + 0x28]
mov ebx, eax
lea rdx, [rsp + 0x20]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x14003f840
mov rbp, qword [rsp + 0x168]
mov eax, edi
mov rdi, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x160]
add rsp, 0x150
pop rsi
ret
Function at 0x14003f8a0
Capabilities:
Allocate or change rwx memory
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x70
mov rbx, r9
xor r12d, r12d
mov r15, qword [rsp + 0xb0]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll__msize]
mov rsi, rax
test eax, eax
jg 0x14003f8e3
xor al, al
jmp 0x14003fa36
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9, rbx
call fcn.14003fa60
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
jne 0x14003f91a
xor dil, dil
jmp 0x14003f9f1
sub rdi, rbx
sar rdi, 3
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.1400486a0
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x14003f985
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f980
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003f980
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14011487c
mov ebp, r12d
test rdi, rdi
je 0x14003f9ee
movsxd r14, esi
mov rsi, rbx
nop dword [rax]
nop word [rax + rax]
mov edx, dword [rsi]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
mov r8, r14
mov rcx, qword [0x140284be0]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov qword [rsp + 0x20], r12
mov r9, r14
mov r8, r15
mov rdx, qword [rsi]
mov rcx, qword [0x140284be0]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
inc ebp
lea rsi, [rsi + 8]
movsxd rax, ebp
cmp rax, rdi
jb 0x14003f9a0
mov dil, 1
test rbx, rbx
je 0x14003fa32
mov rdx, qword [rsp + 0x40]
sub rdx, rbx
and rdx, 0xfffffffffffffff8
mov rax, rbx
cmp rdx, 0x1000
jb 0x14003fa2a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003fa2a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14011487c
movzx eax, dil
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret
Function at 0x140040c50
Capabilities:
Create process on windows

Disassembly:
mov rax, rsp
sub rsp, 0xb8
xorps xmm0, xmm0
mov r8, rcx
movups xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x90]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rax - 0x78], xmm0
movups xmmword [rax - 0x68], xmm0
movups xmmword [rax - 0x58], xmm0
movups xmmword [rax - 0x48], xmm0
movups xmmword [rax - 0x38], xmm0
lea rax, str.cmd.exe
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSASetLastError
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x24], 0x40
call fcn.140048890
cmp qword [rax + 0x18], 0xf
jbe 0x140040cb1
mov rax, qword [rax]
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x40], rax
cmp rdx, 0xf
jbe 0x140040cfc
mov rcx, qword [rsp + 0x90]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040cf7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140040cf7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14011487c
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x50], 0
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
je 0x140040d34
mov rcx, qword [rsp + 0x88]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rsp, 0xb8
ret
Function at 0x1400420f0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x150
movzx edi, dx
mov rsi, rcx
xor edx, edx
mov ecx, 2
xor ebp, ebp
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400421e5
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x130
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x1400421e5
mov qword [rsp + 0x160], r14
cmp dword [rsp + 0x28], ebp
jne 0x140042163
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32Next]
mov r14d, 0x539
nop dword [rax]
cmp di, r14w
jne 0x1400421b3
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rsp + 0x4c]
call fcn.1400489d0
mov rcx, rax
lea rdx, [0x1401829f0]
call fcn.1400489d0
mov edx, dword [rsp + 0x28]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x140048bb0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rdx, rsi
lea rcx, [rsp + 0x4c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x1400421d9
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x140042170
jmp 0x1400421dd
mov ebp, dword [rsp + 0x28]
mov r14, qword [rsp + 0x160]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r11, [rsp + 0x150]
mov eax, ebp
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x140042210
Capabilities:
Create thread
Inject thread

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rdi, rdx
mov r8d, ecx
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14004224b
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
mov qword [rsp + 0x50], rbp
xor edx, edx
mov r9d, 0x3000
mov qword [rsp + 0x58], r14
mov r8d, 0x104
mov dword [rsp + 0x20], 4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rbx, 0xffffffffffffffff
mov r14, rax
mov r9, rbx
inc r9
cmp byte [rdi + r9], 0
jne 0x140042281
xor ebp, ebp
inc r9
mov r8, rdi
mov qword [rsp + 0x20], rbp
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, rsi
test eax, eax
je 0x1400422f4
mov r9, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor r8d, r8d
mov qword [rsp + 0x30], rbp
xor edx, edx
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rbp, rax
test rax, rax
jne 0x1400422fe
mov rdx, rbx
inc rdx
cmp byte [rdi + rdx], 0
jne 0x1400422d6
inc rdx
mov r8d, 0x8000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x140042339
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop word [rax + rax]
cmp byte [rdi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x140042310
lea rdx, [rbx + 1]
mov r8d, 0x8000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rbp, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret

Function at 0x140042720
Capabilities:
Acquire debug privileges

Disassembly:
push rbx
sub rsp, 0x40
lea rcx, [0x140181c60]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
je 0x1400427e6
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0x50]
mov edx, Ordinal_41
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x1400427bd
lea r8, [rsp + 0x58]
xor ecx, ecx
lea rdx, str.SeDebugPrivilege
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
mov rcx, qword [rsp + 0x50]
test eax, eax
je 0x1400427b7
mov rax, qword [rsp + 0x58]
lea r8, [rsp + 0x30]
mov qword [rsp + 0x34], rax
mov r9d, reloc.WS2_32.dll_recv
xor eax, eax
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
xor edx, edx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x3c], 2
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.RtlSetProcessIsCritical
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400427e6
xor r8d, r8d
xor edx, edx
mov cl, 1
call rax
mov eax, 1
add rsp, 0x40
pop rbx
ret
xor eax, eax
add rsp, 0x40
pop rbx
ret
Function at 0x140042840
Capabilities:
Check for debugger via api

Disassembly:
sub rsp, 0x28
mov dword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
mov eax, dword [rsp + 0x30]
add rsp, 0x28
ret
Function at 0x140048ce0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
mov rbx, rdx
mov rdi, rcx
mov ecx, 8
call fcn.140114530
mov qword [rax], rbx
mov qword [rsp + 0x40], rax
lea rbx, [rdi + 8]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x140049610]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x140048d3d
mov rax, rdi
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov dword [rbx], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
Function at 0x14005bbe0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x50
mov rax, qword [rcx + 8]
mov ebp, r8d
mov ecx, 0x3e80000
mov rbx, qword [rax + 0x2f0]
mov rax, qword [rdx + 0x80]
movzx edx, word [rdx + 0x68]
movzx edi, word [rax + 0x18]
mov eax, 0x40000
shl edi, 0x10
cmp edi, eax
cmovl edi, eax
shl edx, 0x10
call fcn.14004a870
mov dword [rsp + 0x24], eax
mov ecx, eax
cmp eax, 0x28f
jge 0x14005bc36
xor eax, eax
add rsp, 0x50
pop rdi
pop rbp
pop rbx
ret
mov eax, dword [rbx + 0x24]
mov qword [rsp + 0x80], rsi
mov esi, dword [rbx + 0x28]
mov qword [rsp + 0x48], r12
mov r12d, dword [rbx + 0x3c]
mov qword [rsp + 0x40], r13
mov r13d, dword [rbx + 0x38]
mov dword [rsp + 0x88], eax
mov eax, dword [rbx + 0x2c]
mov qword [rsp + 0x38], r14
mov r14d, dword [rbx + 0x40]
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + 0x34]
mov qword [rsp + 0x30], r15
mov r15d, dword [rbx + 0x30]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x20], r12d
test ebp, ebp
jg 0x14005bc8d
mov ebp, 0x4b0000
jmp 0x14005bc9b
shl ebp, 0x10
mov edx, ecx
mov ecx, ebp
call fcn.14004ce50
mov ebp, eax
bsr ecx, ebp
bsr eax, edi
shl r12d, 0x10
add eax, ecx
cmp eax, 0x2e
jl 0x14005bcb1
mov eax, r12d
jmp 0x14005bcba
mov edx, edi
mov ecx, ebp
call fcn.14004ce50
mov r9d, dword [rsp + 0x88]
mov ecx, r9d
shl ecx, 0x10
cmp eax, ecx
jge 0x14005bcd6
shl esi, 0x10
mov ecx, esi
jmp 0x14005bdc5
mov r8d, dword [rsp + 0x70]
mov edx, r8d
shl edx, 0x10
mov dword [rsp + 0x88], edx
cmp eax, edx
jge 0x14005bd34
mov ebx, r8d
mov edx, edi
sub ebx, r9d
call fcn.14004a870
mov ecx, ebp
sub ecx, eax
test ebx, ebx
je 0x14005bd24
sub r15d, esi
mov r8d, ebx
mov edx, r15d
call fcn.14004cd20
shl esi, 0x10
mov edx, edi
mov ecx, esi
mov ebx, eax
call fcn.14004a870
add ebx, eax
jmp 0x14005bdce
mov esi, dword [rsp + 0x78]
mov ebx, esi
mov r8d, dword [rsp + 0x70]
shl ebx, 0x10
jmp 0x14005bd41
mov esi, dword [rsp + 0x78]
mov ebx, esi
shl ebx, 0x10
cmp eax, ebx
jge 0x14005bd80
mov ecx, dword [rsp + 0x88]
mov r12d, esi
mov edx, edi
sub r12d, r8d
call fcn.14004a870
mov ecx, ebp
sub ecx, eax
test r12d, r12d
je 0x14005bd85
sub r13d, r15d
mov r8d, r12d
mov edx, r13d
call fcn.14004cd20
shl r15d, 0x10
mov edx, edi
mov ecx, r15d
mov ebx, eax
call fcn.14004a870
add ebx, eax
jmp 0x14005bdce
cmp eax, r12d
jge 0x14005bdbe
mov r15d, dword [rsp + 0x20]
mov edx, edi
mov ecx, ebx
call fcn.14004a870
sub ebp, eax
sub r15d, esi
je 0x14005bdbe
sub r14d, r13d
mov r8d, r15d
mov edx, r14d
mov ecx, ebp
call fcn.14004cd20
shl r13d, 0x10
mov edx, edi
mov ecx, r13d
mov ebx, eax
call fcn.14004a870
add ebx, eax
jmp 0x14005bdce
shl r14d, 0x10
mov ecx, r14d
mov edx, edi
call fcn.14004a870
mov ebx, eax
mov edx, dword [rsp + 0x24]
mov ecx, ebx
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop rdi
pop rbp
pop rbx
jmp fcn.14004a870