joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140107a10
Capabilities:
Copy file

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xorps xmm4, xmm4
movaps xmmword [rbp - 0x50], xmm4
xor eax, eax
mov qword [rbp - 0x40], rax
mov rsi, r8
mov rdi, r9
mov rbx, qword [rbp + 0x30]
mov qword [rbp - 0x40], rbx
test rdx, rdx
je 0x140107a51
add rdx, 0xc
jmp 0x140107a53
xor edx, edx
mov qword [rbp - 0x48], rdx
mov r14, rdx
test rcx, rcx
je 0x140107a68
add rcx, 0xc
mov r15, rcx
jmp 0x140107a6b
xor r15d, r15d
mov qword [rbp - 0x50], r15
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov qword [rsp + 0x20], rbx
mov ebx, dword [rbp + 0x38]
mov dword [rsp + 0x28], ebx
mov rcx, r15
mov qword [rbp - 0x58], rcx
mov rdx, r14
mov qword [rbp - 0x60], rdx
mov r8, rsi
mov qword [rbp - 0x68], r8
mov r9, rdi
mov qword [rbp - 0x70], r9
lea rcx, [rbp - 0x98]
call fcn.140002f80
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x68]
mov r9, qword [rbp - 0x70]
call sub.KERNEL32.dll_CopyFileExW
mov esi, eax
lea rcx, [rbp - 0x98]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
test esi, esi
setne sil
movzx esi, sil
call fcn.14000208f
mov dword [rax + 8], edi
movzx eax, sil
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140107c80
Capabilities:
Delete file

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x90]
xor eax, eax
mov qword [rbp - 0x40], rax
test rcx, rcx
je 0x140107cac
add rcx, 0xc
mov rsi, rcx
jmp 0x140107cae
xor esi, esi
mov qword [rbp - 0x40], rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rsi
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x70]
call fcn.140002f80
mov rcx, qword [rbp - 0x48]
call sub.KERNEL32.dll_DeleteFileW
mov esi, eax
lea rcx, [rbp - 0x70]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
test esi, esi
setne sil
movzx esi, sil
call fcn.14000208f
mov dword [rax + 8], edi
movzx eax, sil
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1401082d0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov esi, ecx
mov qword [rbp - 0x40], rdx
mov rdi, rdx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov ecx, esi
mov dword [rbp - 0x44], ecx
mov rdx, rdi
mov qword [rbp - 0x4c], rdx
lea rcx, [rbp - 0x78]
call fcn.140002f80
mov ecx, dword [rbp - 0x44]
mov rdx, qword [rbp - 0x4c]
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov esi, eax
lea rcx, [rbp - 0x78]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.14000208f
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140108970
Capabilities:
Read file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov edi, r8d
mov rbx, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400e7d90
mov rcx, qword [rbp + 0x10]
mov r14, qword [rcx + 8]
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x20], r15
mov rcx, r14
mov qword [rbp - 0x4c], rcx
mov rdx, rsi
mov qword [rbp - 0x54], rdx
mov r8d, edi
mov dword [rbp - 0x44], r8d
mov r9, rbx
mov qword [rbp - 0x5c], r9
lea rcx, [rbp - 0x88]
call fcn.140002f80
mov rcx, qword [rbp - 0x4c]
mov rdx, qword [rbp - 0x54]
mov r8d, dword [rbp - 0x44]
mov r9, qword [rbp - 0x5c]
call sub.KERNEL32.dll_ReadFile
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
cmp byte [rbp - 0x40], 0
je 0x140108a20
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400e7dc0
call fcn.14000208f
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140108a70
Capabilities:
Read file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0xc0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov rdi, rdx
mov ebx, r8d
mov rsi, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400e7d90
mov rcx, qword [rbp + 0x10]
mov r14, qword [rcx + 8]
mov qword [rbp - 0x48], rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x20], r15
mov rcx, r14
mov qword [rbp - 0x54], rcx
mov rdx, rdi
mov qword [rbp - 0x5c], rdx
mov r8d, ebx
mov dword [rbp - 0x4c], r8d
mov r9, rsi
mov qword [rbp - 0x64], r9
lea rcx, [rbp - 0x90]
call fcn.140002f80
mov rcx, qword [rbp - 0x54]
mov rdx, qword [rbp - 0x5c]
mov r8d, dword [rbp - 0x4c]
mov r9, qword [rbp - 0x64]
call sub.KERNEL32.dll_ReadFile
mov esi, eax
lea rcx, [rbp - 0x90]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x140108b33
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400e7dc0
call fcn.14000208f
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140108f60
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov rsi, rcx
mov rdi, rdx
mov ebx, r8d
mov qword [rbp - 0x40], r9
mov r14, r9
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov qword [rbp - 0x4c], rcx
mov rdx, rdi
mov qword [rbp - 0x54], rdx
mov r8d, ebx
mov dword [rbp - 0x44], r8d
mov r9, r14
mov qword [rbp - 0x5c], r9
lea rcx, [rbp - 0x88]
call fcn.140002f80
mov rcx, qword [rbp - 0x4c]
mov rdx, qword [rbp - 0x54]
mov r8d, dword [rbp - 0x44]
mov r9, qword [rbp - 0x5c]
call sub.KERNEL32.dll_WriteFile
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.14000208f
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140109aa0
Capabilities:
Create thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov rsi, rcx
mov rdi, rdx
mov rbx, r8
mov r14, r9
mov r15, qword [rbp + 0x38]
xor ecx, ecx
mov dword [rbp - 0x3c], ecx
mov qword [rbp - 0x48], rcx
lea rcx, [0x1401ca298]
call fcn.140002b30
xor ecx, ecx
mov qword [rax + 8], rcx
mov dword [rax + 0x10], 4
mov byte [rax + 0x14], 1
mov byte [rax + 0x15], 1
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], r15
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
mov r9, r14
mov esi, dword [rbp + 0x30]
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x78], r9
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], r15
lea rcx, [rbp - 0xa0]
call fcn.140002f80
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
mov r9, qword [rbp - 0x78]
call sub.KERNEL32.dll_CreateThread
mov rsi, rax
lea rcx, [rbp - 0xa0]
call fcn.140002fd0
mov qword [rbp - 0x48], rsi
xor eax, eax
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x3c], 1
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x58]
mov qword [rdx + 8], rax
mov rax, rdx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140109bf0
Capabilities:
Resume thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x90]
mov qword [rbp + 0x10], rcx
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400e7d90
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x70]
call fcn.140002f80
mov rcx, qword [rbp - 0x48]
call sub.KERNEL32.dll_ResumeThread
mov esi, eax
lea rcx, [rbp - 0x70]
call fcn.140002fd0
nop
cmp byte [rbp - 0x40], 0
je 0x140109c57
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400e7dc0
mov eax, esi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140119010
Capabilities:
Create process on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x198
lea rbp, [rsp + 0x1d0]
xorps xmm4, xmm4
movabs rax, 0xffffffffffffff10
movaps xmmword [rbp + rax - 0x40], xmm4
movaps xmmword [rbp + rax - 0x30], xmm4
movaps xmmword [rbp + rax - 0x20], xmm4
add rax, 0x30
jne 0x140119038
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rbx, rcx
mov r14, rdx
mov r15, r8
mov r12, r9
mov r13, qword [rbp + 0x48]
mov rcx, rbx
mov edx, 1
xor r8d, r8d
call fcn.1400e5fd0
mov qword [rbp - 0x40], rax
mov rcx, r14
mov edx, 1
xor r8d, r8d
call fcn.1400e5fd0
mov qword [rbp - 0x48], rax
xor edi, edi
cmp byte [rbp + 0x30], 0
setne dil
mov dword [rbp - 0x4c], edi
mov rcx, r13
mov edx, 1
xor r8d, r8d
call fcn.1400e5fd0
mov qword [rbp - 0x58], rax
lea rdi, [rbp - 0xb8]
mov rsi, qword [rbp + 0x50]
mov ecx, 0xc
rep movsq qword [rdi], qword [rsi]
lea rcx, [rbp - 0xb8]
lea rdx, [rbp - 0x120]
call fcn.140184f10
mov rsi, qword [rbp + 0x58]
mov qword [rbp - 0x128], rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov ebx, dword [rbp - 0x4c]
mov dword [rsp + 0x20], ebx
mov ebx, dword [rbp + 0x38]
mov dword [rsp + 0x28], ebx
mov rbx, qword [rbp + 0x40]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rbp - 0x58]
mov qword [rsp + 0x38], rbx
lea rcx, [rbp - 0x120]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rsi
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x138], rcx
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x140], rdx
mov r8, r15
mov qword [rbp - 0x148], r8
mov r9, r12
mov qword [rbp - 0x150], r9
lea rcx, [rbp - 0x178]
call fcn.140002f80
mov rcx, qword [rbp - 0x138]
mov rdx, qword [rbp - 0x140]
mov r8, qword [rbp - 0x148]
mov r9, qword [rbp - 0x150]
call sub.KERNEL32.dll_CreateProcessA
mov esi, eax
lea rcx, [rbp - 0x178]
call fcn.140002fd0
call fcn.14000208f
mov rdi, rax
mov qword [rbp - 0x130], rdi
call sub.KERNEL32.dll_GetLastError
mov rcx, qword [rbp - 0x130]
mov dword [rcx + 8], eax
test esi, esi
setne sil
movzx esi, sil
cmp qword [rbp + 0x10], 0
je 0x1401191c4
mov r14, qword [rbp - 0x40]
test r14, 0xffffffffffff0000
je 0x1401191c4
mov rcx, r14
call fcn.14010a050
cmp qword [rbp + 0x18], 0
je 0x1401191e0
mov r15, qword [rbp - 0x48]
test r15, 0xffffffffffff0000
je 0x1401191e0
mov rcx, r15
call fcn.14010a050
cmp qword [rbp + 0x48], 0
je 0x1401191f8
test rbx, 0xffffffffffff0000
je 0x1401191f8
mov rcx, rbx
call fcn.14010a050
lea rcx, [rbp - 0x120]
call fcn.140184d90
movzx eax, sil
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140119e00
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
lea rcx, [0x1401d0918]
call fcn.140002af0
mov rdi, rax
mov dword [rdi + 0x20], 0x7fffffff
lea rcx, [0x140214250]
mov edx, 0x10
call fcn.140002c10
lea rcx, [rdi + 8]
mov rdx, rax
call fcn.140002d00
xor ebx, ebx
mov ebp, dword [rsi + 8]
test ebp, ebp
jle 0x140119e62
mov edx, ebx
movzx edx, byte [rsi + rdx + 0x10]
xor edx, 0x63
movzx edx, dx
mov rcx, rdi
call fcn.1400cac70
inc ebx
cmp ebp, ebx
jg 0x140119e47
mov rcx, rdi
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
jmp fcn.1400ca740
Function at 0x14011e470
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
lea rcx, [0x1402141b8]
mov edx, 0x1f3
call fcn.140002c10
mov rsi, rax
lea rdx, str.m_SDE_YXk_e_QXWBCDS_v
lea rcx, [rsi + 0x10]
mov r8d, 0x1f3
call fcn.140071170
lea rcx, [0x1401d0918]
call fcn.140002af0
mov rdi, rax
mov dword [rdi + 0x20], 0x7fffffff
lea rcx, [0x140214250]
mov edx, 0x10
call fcn.140002c10
lea rcx, [rdi + 8]
mov rdx, rax
call fcn.140002d00
xor ebx, ebx
mov edx, ebx
movzx edx, byte [rsi + rdx + 0x10]
xor edx, 0x36
movzx edx, dx
mov rcx, rdi
call fcn.1400cac70
inc ebx
cmp ebx, 0x1f3
jl 0x14011e4d6
mov rcx, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp fcn.1400ca740

Function at 0x1401226e0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0xc0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov rdi, r8
mov rbx, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400e7d90
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
test rsi, rsi
je 0x140122731
add rsi, 0xc
jmp 0x140122733
xor esi, esi
mov qword [rbp - 0x48], rsi
mov r14, qword [rbp + 0x30]
mov qword [rsp + 0x20], r14
mov r14, qword [rbp + 0x38]
mov qword [rsp + 0x28], r14
mov rcx, rdx
mov qword [rbp - 0x50], rcx
mov rdx, rsi
mov qword [rbp - 0x58], rdx
mov r8, rdi
mov qword [rbp - 0x60], r8
mov r9, rbx
mov qword [rbp - 0x68], r9
lea rcx, [rbp - 0x90]
call fcn.140002f80
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x68]
call sub.ADVAPI32.dll_RegQueryValueExW
mov esi, eax
lea rcx, [rbp - 0x90]
call fcn.140002fd0
nop
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1401227ac
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400e7dc0
mov eax, esi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140148e50
Capabilities:
Enumerate process modules

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0xc0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], rax
mov qword [rbp + 0x10], rcx
mov rdi, rdx
mov ebx, r8d
mov rsi, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400e7d90
mov rcx, qword [rbp + 0x10]
mov r14, qword [rcx + 8]
mov qword [rbp - 0x48], rsi
test rdi, rdi
jne 0x140148ea8
xor r15d, r15d
jmp 0x140148eac
lea r15, [rdi + 0x10]
mov qword [rbp - 0x50], r15
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov edi, dword [rbp + 0x30]
mov dword [rsp + 0x20], edi
mov rcx, r14
mov qword [rbp - 0x5c], rcx
mov rdx, r15
mov qword [rbp - 0x64], rdx
mov r8d, ebx
mov dword [rbp - 0x54], r8d
mov r9, rsi
mov qword [rbp - 0x6c], r9
lea rcx, [rbp - 0x98]
call fcn.140002f80
mov rcx, qword [rbp - 0x5c]
mov rdx, qword [rbp - 0x64]
mov r8d, dword [rbp - 0x54]
mov r9, qword [rbp - 0x6c]
call sub.KERNEL32.dll_K32EnumProcessModulesEx
mov esi, eax
lea rcx, [rbp - 0x98]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
test esi, esi
setne sil
movzx esi, sil
cmp byte [rbp - 0x40], 0
je 0x140148f37
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400e7dc0
call fcn.14000208f
mov dword [rax + 8], edi
movzx eax, sil
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1401496a0
Capabilities:
Create process on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xd8
lea rbp, [rsp + 0x110]
xor eax, eax
mov qword [rbp - 0x68], rax
xorps xmm4, xmm4
movaps xmmword [rbp - 0x60], xmm4
movaps xmmword [rbp - 0x50], xmm4
mov qword [rbp - 0x40], rax
mov rsi, rdx
mov r14, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x50]
mov rbx, qword [rbp + 0x58]
cmp byte [rbp + 0x30], 0
jne 0x1401496ea
xor r15d, r15d
jmp 0x1401496f0
mov r15d, 1
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x48], rdi
test r14, r14
je 0x140149703
add r14, 0xc
jmp 0x140149706
xor r14d, r14d
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x58], r9
mov r12, r9
mov qword [rbp - 0x60], r8
mov r13, r8
test rcx, rcx
je 0x140149726
add rcx, 0xc
mov rax, rcx
jmp 0x140149728
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x70], rax
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov dword [rsp + 0x20], r15d
mov r15d, dword [rbp + 0x38]
mov dword [rsp + 0x28], r15d
mov r15, qword [rbp + 0x40]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rbx
mov rcx, qword [rbp - 0x70]
mov qword [rbp - 0x78], rcx
mov rdx, rsi
mov qword [rbp - 0x80], rdx
mov r8, r13
mov qword [rbp - 0x88], r8
mov r9, r12
mov qword [rbp - 0x90], r9
lea rcx, [rbp - 0xb8]
call fcn.140002f80
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x88]
mov r9, qword [rbp - 0x90]
call sub.KERNEL32.dll_CreateProcessW
mov esi, eax
lea rcx, [rbp - 0xb8]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
test esi, esi
setne sil
movzx esi, sil
call fcn.14000208f
mov dword [rax + 8], edi
movzx eax, sil
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140149920
Capabilities:
Enumerate process modules

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], rax
mov esi, edx
mov qword [rbp - 0x40], r8
mov rdi, r8
test rcx, rcx
jne 0x140149954
xor ebx, ebx
jmp 0x140149958
lea rbx, [rcx + 0x10]
mov qword [rbp - 0x48], rbx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rbx
mov qword [rbp - 0x54], rcx
mov edx, esi
mov dword [rbp - 0x4c], edx
mov r8, rdi
mov qword [rbp - 0x5c], r8
lea rcx, [rbp - 0x88]
call fcn.140002f80
mov rcx, qword [rbp - 0x54]
mov edx, dword [rbp - 0x4c]
mov r8, qword [rbp - 0x5c]
call sub.KERNEL32.dll_K32EnumProcesses
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
test esi, esi
setne sil
movzx esi, sil
call fcn.14000208f
mov dword [rax + 8], edi
movzx eax, sil
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x14014a2b0
Capabilities:
Create pipe

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xorps xmm4, xmm4
movups xmmword [rbp - 0x68], xmm4
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rsi, r8
mov edi, r9d
xor edx, edx
mov dword [rbp - 0x3c], edx
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x50], rdx
lea rcx, [0x1401ca238]
call fcn.140002b30
mov rbx, rax
mov rcx, rbx
call fcn.140075c10
mov qword [rbp - 0x60], rbx
lea rcx, [0x1401ca238]
call fcn.140002b30
mov r14, rax
mov rcx, r14
call fcn.140075c10
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x58], rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
lea rcx, [rbp - 0x48]
mov qword [rbp - 0x74], rcx
lea rdx, [rbp - 0x50]
mov qword [rbp - 0x7c], rdx
mov r8, rsi
mov qword [rbp - 0x84], r8
mov r9d, edi
mov dword [rbp - 0x6c], r9d
lea rcx, [rbp - 0xb0]
call fcn.140002f80
mov rcx, qword [rbp - 0x74]
mov rdx, qword [rbp - 0x7c]
mov r8, qword [rbp - 0x84]
mov r9d, dword [rbp - 0x6c]
call sub.KERNEL32.dll_CreatePipe
mov esi, eax
lea rcx, [rbp - 0xb0]
call fcn.140002fd0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor edx, edx
mov qword [rbp - 0x58], rdx
mov dword [rbp - 0x3c], 1
test esi, esi
setne sil
movzx esi, sil
mov rbx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x60]
mov qword [rax + 8], rbx
mov rcx, qword [rbp + 0x18]
mov rdx, rax
call fcn.140002d70
mov r14, qword [rbp - 0x48]
mov rax, qword [rbp - 0x68]
mov qword [rax + 8], r14
mov rcx, qword [rbp + 0x10]
mov rdx, rax
call fcn.140002d70
call fcn.14000208f
mov dword [rax + 8], edi
movzx eax, sil
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140005120
Capabilities:
Parse pe header

Disassembly:
test rcx, rcx
je 0x140005150
mov eax, 0
cmp word [rcx], 0x5a4d
jne 0x14000514f
mov eax, dword [rcx + 0x3c]
cmp eax, 0x400
jg 0x140005155
cdqe
add rax, rcx
cmp dword [rax], 0x4550
mov edx, 0
cmovne rax, rdx
ret
mov rax, rcx
jmp 0x14000514f
mov eax, 0
jmp 0x14000514f

Function at 0x1400057d0
Capabilities:
Execute syscall

Disassembly:
pop rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x28
mov rcx, r10
call fcn.140005780
add rsp, 0x28
mov rcx, qword [rsp + 8]
mov rdx, qword [rsp + 0x10]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x20]
mov r10, rcx
syscall
ret

Function at 0x14000ede0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
lea rax, [rsp + 0x58]
mov rbx, rcx
mov ecx, 2
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x28], rax
call fcn.140017920
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sub.msvcrt.dll_fwrite
mov rsi, qword [rsp + 0x28]
mov ecx, 2
call fcn.140017920
mov rdx, rbx
mov rcx, rax
mov r8, rsi
call sub.msvcrt.dll_vfprintf
call sub.msvcrt.dll_abort
nop
nop dword [rax]
Function at 0x14000ee50
Capabilities:
Allocate or change rwx memory

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
movsxd rsi, dword [0x140478334]
test esi, esi
mov rdi, rcx
mov rbp, rdx
mov rbx, r8
jle 0x14000efe0
mov rax, qword [0x140478338]
xor ecx, ecx
add rax, 0x18
nop
mov rdx, qword [rax]
cmp rdi, rdx
jb 0x14000ee9c
mov r8, qword [rax + 8]
mov r8d, dword [r8 + 8]
add rdx, r8
cmp rdi, rdx
jb 0x14000ef25
add ecx, 1
add rax, 0x28
cmp ecx, esi
jne 0x14000ee80
mov rcx, rdi
call fcn.14000f9b0
test rax, rax
mov r12, rax
je 0x14000f032
mov rax, qword [0x140478338]
lea rsi, [rsi + rsi*4]
shl rsi, 3
add rax, rsi
mov qword [rax + 0x20], r12
mov dword [rax], 0
call fcn.14000faf0
mov ecx, dword [r12 + 0xc]
lea rdx, [rsp + 0x20]
mov r8d, 0x30
add rcx, rax
mov rax, qword [0x140478338]
mov qword [rax + rsi + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x14000f015
mov eax, dword [rsp + 0x44]
lea edx, [rax - 0x40]
and edx, 0xffffffbf
je 0x14000ef1e
lea edx, [rax - 4]
and edx, 0xfffffffb
jne 0x14000ef90
add dword [0x140478334], 1
cmp ebx, 8
jae 0x14000ef51
test bl, 4
jne 0x14000eff0
test ebx, ebx
je 0x14000ef46
movzx eax, byte [rbp]
test bl, 2
mov byte [rdi], al
jne 0x14000f004
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov eax, ebx
sub ebx, 1
mov rdx, qword [rbp + rax - 8]
cmp ebx, 8
mov qword [rdi + rax - 8], rdx
jb 0x14000ef46
and ebx, 0xfffffff8
xor eax, eax
mov edx, eax
add eax, 8
mov rcx, qword [rbp + rdx]
cmp eax, ebx
mov qword [rdi + rdx], rcx
jb 0x14000ef6a
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp eax, 2
mov r8d, 4
mov eax, 0x40
mov rcx, qword [rsp + 0x20]
cmovne r8d, eax
mov rdx, qword [rsp + 0x38]
add rsi, qword [0x140478338]
mov r9, rsi
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x14000ef1e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call fcn.14000ede0
xor esi, esi
jmp 0x14000eea7
mov eax, dword [rbp]
mov ebx, ebx
mov dword [rdi], eax
mov eax, dword [rbp + rbx - 4]
mov dword [rdi + rbx - 4], eax
jmp 0x14000ef46
mov ebx, ebx
movzx eax, word [rbp + rbx - 2]
mov word [rdi + rbx - 2], ax
jmp 0x14000ef46
mov rax, qword [0x140478338]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov edx, dword [r12 + 8]
mov r8, qword [rax + rsi + 0x18]
call fcn.14000ede0
lea rcx, str.Address__p_has_no_image_section
mov rdx, rdi
call fcn.14000ede0
nop
nop dword [rax]
nop word cs:[rax + rax]