joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400111f9
Capabilities:
Terminate process

Disassembly:
jmp 0x1400132c0
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret

Function at 0x140011285
Capabilities:
Parse pe header

Disassembly:
jmp 0x140014610
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140014630
xor al, al
jmp 0x1400146b1
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140014643
xor al, al
jmp 0x1400146b1
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14001466d
xor al, al
jmp 0x1400146b1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140014681
xor al, al
jmp 0x1400146b1
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140014693
xor al, al
jmp 0x1400146b1
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x1400146af
xor al, al
jmp 0x1400146b1
mov al, 1
add rsp, 0x38
ret
Function at 0x140c2bcd4
Capabilities:
Encode data using xor

Disassembly:
jmp 0x140c2bcde
push rax
push rcx
push rdx
push rbx
push rbp
push rsi
push rdi
push r8
push r9
push r10
push r11
push r12
push r13
push r14
push r15
pushfq
sub rsp, 8
stmxcsr dword [rsp]
call 0x140c2bd07
pop rbp
sub rbp, 0x33
sub rbp, 0xc2bcd4
sub rsp, 0x20
jmp 0x140c2bd26
mov rax, 0xc2bcd4
add rax, rbp
add rax, 0x84
mov rcx, 0x647
mov rdx, 0x5867701d
xor byte [rax], dl
inc rax
dec rcx
jne 0x140c2bd45
jmp 0x140c2bd5c
push rbp
xchg esp, eax
hlt
Function at 0x1400022ac
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400022f6
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400022f6
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400022f6
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400022f6
cmp dword [rcx + 0x84], 0xe
jbe 0x1400022f6
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400022f8
xor al, al
add rsp, 0x28
ret
Function at 0x18008dc70
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x170
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rsp + 0x160], rax
xor r9d, r9d
lea rax, [rsp + 0x50]
mov rbx, rcx
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x1a]
call qword [0x1800fd548]
xor edi, edi
mov qword [rsp + 0x48], 0xf
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x50]
mov byte [rsp + 0x30], dil
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], dil
jne 0x18008dcd0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.1800c30f0
mov r8d, 1
lea rdx, [0x180118c08]
lea rcx, [rsp + 0x30]
call fcn.1800c2860
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18008dd5d
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008dd58
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008dd81
call fcn.1800cff50
mov rax, rbx
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.1800cfc90
mov rbx, qword [rsp + 0x188]
add rsp, 0x170
pop rdi
ret
call fcn.1800df1b0
int3
Function at 0x18008e1c0
Capabilities:
Get file size

Disassembly:
push rbx
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rcx, qword [0x18012d868]
mov r15, rdx
inc rcx
mov byte [0x180134f40], 0
call fcn.1800d0314
cmp qword [0x18012d870], 0x10
lea r8, [0x18012d858]
mov rdx, rax
cmovae r8, qword [0x18012d858]
sub rdx, r8
nop
movzx ecx, byte [r8]
mov byte [rdx + r8], cl
lea r8, [r8 + 1]
test cl, cl
jne 0x18008e210
xor ebx, ebx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov qword [rsp + 0x80], rsi
mov edx, 0x80000000
mov rcx, rax
mov dword [rsp + 0x20], 4
mov qword [rsp + 0x88], rdi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x18008e311
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
test eax, eax
je 0x18008e311
mov ecx, edi
call fcn.1800d8574
mov rbp, rax
test rax, rax
je 0x18008e29a
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.1800d33c0
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rbx
mov r8d, edi
mov rdx, rbp
mov rcx, r14
call qword [0x1800fd338]
test eax, eax
je 0x18008e311
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.1800d8574
mov r14, rax
test rax, rax
je 0x18008e2dd
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1800d33c0
test edi, edi
je 0x18008e311
lea rcx, [rbp + 2]
cmp byte [rcx - 2], 0x6b
jne 0x18008e308
cmp byte [rcx - 1], 0x65
jne 0x18008e308
cmp byte [rcx], 0x79
jne 0x18008e308
cmp byte [rcx + 1], 0x22
jne 0x18008e308
cmp byte [rcx + 2], 0x3a
jne 0x18008e308
cmp byte [rcx + 3], 0x22
je 0x18008e33f
inc ebx
inc rcx
cmp ebx, edi
jb 0x18008e2e5
xor eax, eax
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1800cfc90
add rsp, 0x50
pop r15
pop r14
pop rbx
ret
movsxd rdx, ebx
add rdx, 6
movzx ecx, byte [rdx + rbp]
cmp cl, 0x22
je 0x18008e370
sub rdx, r14
mov rax, r14
lea r8, [rdx + rbp]
nop dword [rax]
mov byte [rax], cl
lea rax, [rax + 1]
movzx ecx, byte [r8 + rax]
cmp cl, 0x22
jne 0x18008e360
mov rcx, rbp
call fcn.1800d8560
mov rdx, r14
lea rcx, [0x180134f40]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [0x180134f40]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov rcx, r14
mov dword [r15], eax
call fcn.1800d8560
mov eax, 1
jmp 0x18008e313
Function at 0x1800adc20
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x450
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov rdi, r8
mov rsi, rcx
mov r8d, 0x400
lea rcx, [rsp + 0x40]
xor edx, edx
mov rbx, r9
call fcn.1800d33c0
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
mov dword [rsp + 0x38], 0x400
jb 0x1800adc6d
mov rdx, qword [rdi]
lea rax, [rsp + 0x30]
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rcx, 0xffffffff80000001
call qword [0x1800fd060]
test eax, eax
jne 0x1800adcc3
cmp qword [rbx + 0x18], 0x10
mov rdx, rbx
jb 0x1800adc9e
mov rdx, qword [rbx]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
xor r9d, r9d
lea rax, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [0x1800fd030]
mov rcx, qword [rsp + 0x30]
call qword [0x1800fd018]
lea rax, [rsp + 0x40]
mov qword [rsi + 0x10], 0
mov r8, 0xffffffffffffffff
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800adcf0
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1800c30f0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800add41
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x1800add3c
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800addbb
mov rcx, r8
call fcn.1800cff50
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1800add8a
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1800add85
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800addbb
mov rcx, r8
call fcn.1800cff50
mov qword [rbx + 0x10], 0
mov rax, rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.1800cfc90
add rsp, 0x450
pop rdi
pop rsi
pop rbx
ret
call fcn.1800df1b0
int3
Function at 0x1800b1620
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x258
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rsp + 0x240], rax
xor r13d, r13d
mov rbx, r8
mov rsi, rdx
mov r12, rcx
cmp r8, r9
je 0x1800b1706
mov r15, qword [r9]
mov r14, qword [r9 + 8]
mov rdi, qword [r8]
sub r14, r15
mov rdx, qword [r8 + 0x10]
sub rdx, rdi
cmp r14, rdx
jbe 0x1800b16f0
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x1800b17ed
mov rcx, rdx
shr rcx, 1
sub rax, rcx
cmp rdx, rax
jbe 0x1800b169a
mov rbp, r14
jmp 0x1800b16a5
lea rbp, [rcx + rdx]
cmp rbp, r14
cmovb rbp, r14
test rdi, rdi
je 0x1800b16e2
cmp rdx, 0x1000
jb 0x1800b16cf
mov rcx, qword [rdi - 8]
add rdx, 0x27
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x1800b17f3
mov rdi, rcx
mov rcx, rdi
call fcn.1800cff50
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
mov rdx, rbp
mov rcx, rbx
call fcn.1800c7450
mov rdi, qword [rbx]
mov r8, r14
mov rdx, r15
mov rcx, rdi
call fcn.1800d35e0
lea rax, [r14 + rdi]
mov qword [rbx + 8], rax
cmp qword [rsi + 0x18], 0x10
mov rdx, rsi
mov dword [rsp + 0x34], 0x200
jb 0x1800b171b
mov rdx, qword [rsi]
lea rax, [rsp + 0x34]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rsp + 0x40]
mov rcx, r12
mov qword [rsp + 0x20], rax
call qword [0x1800fd030]
test eax, eax
jne 0x1800b1784
mov rdi, r13
cmp dword [rsp + 0x34], edi
jbe 0x1800b1784
nop dword [rax + rax]
mov rdx, qword [rbx + 8]
movzx eax, byte [rsp + rdi + 0x40]
mov byte [rsp + 0x30], al
cmp rdx, qword [rbx + 0x10]
je 0x1800b176b
mov byte [rdx], al
inc qword [rbx + 8]
jmp 0x1800b1778
lea r8, [rsp + 0x30]
mov rcx, rbx
call fcn.1800c3ba0
mov eax, dword [rsp + 0x34]
inc rdi
cmp rdi, rax
jb 0x1800b1750
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x1800b17ba
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x1800b17b5
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800b17f3
mov rcx, r8
call fcn.1800cff50
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], 0xf
mov byte [rsi], r13b
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1800cfc90
add rsp, 0x258
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1800c5bc0
int3
call fcn.1800df1b0
int3
Function at 0x140001568
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x430
mov rax, qword [0x1400cabe8]
xor rax, rsp
mov qword [rsp + 0x420], rax
cmp byte [rcx + 9], 0
mov rsi, rcx
mov rdi, qword [rdx]
mov ebx, dword [rdx + 8]
jne 0x1400015d6
mov r9, qword [rcx]
mov edx, 1
mov rcx, rdi
mov r8, rbx
call qword [sym.imp.msvcrt.dll_fwrite]
nop dword [rax + rax]
cmp rax, rbx
je 0x1400016af
call qword [sym.imp.msvcrt.dll__errno]
nop dword [rax + rax]
or ecx, 0xffffffff
mov eax, dword [rax]
test eax, eax
cmove eax, ecx
jmp 0x1400016b1
mov ebp, 0x200
jmp 0x140001639
xor edx, edx
movzx eax, byte [rdx + rdi]
mov word [rsp + rdx*2 + 0x20], ax
inc edx
movzx eax, byte [rdx + rdi]
mov word [rsp + rdx*2 + 0x20], ax
inc edx
movzx eax, byte [rdx + rdi]
mov word [rsp + rdx*2 + 0x20], ax
inc edx
movzx eax, byte [rdx + rdi]
mov word [rsp + rdx*2 + 0x20], ax
inc edx
cmp edx, ebp
jne 0x1400015df
mov r9, qword [rsi]
lea rcx, [rsp + 0x20]
mov r8, rbp
mov edx, 2
call qword [sym.imp.msvcrt.dll_fwrite]
nop dword [rax + rax]
cmp rax, rbp
jne 0x1400015bb
add ebx, 0xfffffe00
add rdi, rbp
cmp ebx, ebp
jae 0x1400015dd
test ebx, ebx
je 0x1400016af
xor r8d, r8d
mov edx, ebx
and edx, 0xfffffffc
je 0x140001698
movzx eax, byte [r8 + rdi]
mov word [rsp + r8*2 + 0x20], ax
inc r8d
movzx eax, byte [r8 + rdi]
mov word [rsp + r8*2 + 0x20], ax
inc r8d
movzx eax, byte [r8 + rdi]
mov word [rsp + r8*2 + 0x20], ax
inc r8d
movzx eax, byte [r8 + rdi]
mov word [rsp + r8*2 + 0x20], ax
inc r8d
cmp r8d, edx
jne 0x14000164b
jmp 0x140001698
movzx eax, byte [r8 + rdi]
mov word [rsp + r8*2 + 0x20], ax
inc r8d
cmp r8d, ebx
jne 0x14000168a
mov r9, qword [rsi]
lea rcx, [rsp + 0x20]
mov edx, 2
jmp 0x1400015a3
xor eax, eax
mov rcx, qword [rsp + 0x420]
xor rcx, rsp
call fcn.140023980
mov rbx, qword [rsp + 0x460]
add rsp, 0x430
pop rdi
pop rsi
pop rbp
ret
Function at 0x140002a58
Capabilities:
Read file on windows
Terminate process

Disassembly:
push rbx
sub rsp, 0x450
mov rax, qword [0x1400cabe8]
xor rax, rsp
mov qword [rsp + 0x448], rax
cmp qword [rcx + 0x18], 8
jb 0x140002a7d
mov rcx, qword [rcx]
and qword [rsp + 0x30], 0
mov r8d, 3
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], r8d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
nop dword [rax + rax]
mov rbx, rax
inc rax
cmp rax, 1
ja 0x140002ad2
xor al, al
mov rcx, qword [rsp + 0x448]
xor rcx, rsp
call fcn.140023980
add rsp, 0x450
pop rbx
ret
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
mov r8d, 0x400
lea rdx, [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
nop dword [rax + rax]
test eax, eax
je 0x140002b47
cmp dword [rsp + 0x40], 0x400
jb 0x140002b47
cmp dword [0x1400cbb3c], 0
je 0x140002b31
lea rcx, str.Dumping_Logfile_Header_n
call qword [sym.imp.msvcrt.dll_wprintf]
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [rsp + 0xb0]
call fcn.1400025c4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov al, 1
jmp 0x140002ab8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r8d, dword [rsp + 0x40]
lea rcx, str.ERROR:_Could_not_read_file__Error__0x_X__bytes_read___d_of__d__n
mov edx, eax
mov r9d, 0x400
call qword [sym.imp.msvcrt.dll_wprintf]
nop dword [rax + rax]
mov ecx, 0xa0
call qword [sym.imp.msvcrt.dll_exit]
nop dword [rax + rax]
int3
Function at 0x140006dec
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
mov qword [r11 + 0x10], rdx
push rdi
sub rsp, 0x30
mov eax, dword [r9]
lea rdx, str.WindowsDebuggersRoot10
add eax, eax
mov rbx, r8
mov dword [rsp + 0x48], eax
mov rdi, r9
lea rax, [r11 + 0x10]
xor esi, esi
mov dword [r9], esi
xor r8d, r8d
mov rcx, qword [rcx]
lea r9, [r11 + 8]
mov qword [r11 - 0x10], rax
mov qword [r11 - 0x18], rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
jne 0x140006e6f
mov eax, dword [rsp + 0x40]
dec eax
cmp eax, 1
ja 0x140006e6a
mov ecx, dword [rsp + 0x48]
test rbx, rbx
je 0x140006e83
test ecx, ecx
je 0x140006e80
test cl, 1
jne 0x140006e6a
mov eax, ecx
shr rax, 1
cmp word [rbx + rax*2 - 2], si
je 0x140006e83
mov eax, 0xd
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov word [rbx], si
shr ecx, 1
mov dword [rdi], ecx
xor eax, eax
jmp 0x140006e6f

Function at 0x1400070a8
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x50
xorps xmm0, xmm0
mov rdi, rcx
lea rcx, [rax - 0x38]
movups xmmword [rax - 0x38], xmm0
movups xmmword [rax - 0x28], xmm0
movups xmmword [rax - 0x18], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
nop dword [rax + rax]
movzx eax, word [rsp + 0x20]
test eax, eax
je 0x140007109
cmp eax, 5
je 0x140007100
cmp eax, 9
je 0x1400070f7
cmp eax, 0xc
jne 0x140007148
lea rbx, str.arm64
jmp 0x140007110
lea rbx, [0x14002cf58]
jmp 0x140007110
lea rbx, [0x14002cf70]
jmp 0x140007110
lea rbx, [0x14002cf50]
mov rcx, qword [rdi]
movsxd rax, dword [rcx - 0x10]
test eax, eax
je 0x14000713d
lea edx, [rax - 1]
test edx, edx
js 0x140007154
cmp edx, eax
jg 0x140007154
cmp word [rcx + rax*2 - 2], 0x5c
je 0x14000713d
lea rdx, [0x14002826c]
mov rcx, rdi
call fcn.140007858
mov rdx, rbx
mov rcx, rdi
call fcn.140007858
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret
mov ecx, 0x80070057
call fcn.140006d7c
int3

Function at 0x140007cb4
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x80
mov rdi, rdx
mov r8d, 0x30
lea rdx, [rsp + 0x20]
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
nop dword [rax + rax]
test rax, rax
jne 0x140007ce8
lea ecx, [rax + 0x19]
int 0x29
test byte [rsp + 0x44], 0x44
je 0x140007d47
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
nop dword [rax + rax]
mov r9d, dword [rsp + 0x54]
xor edx, edx
mov r8d, r9d
neg r8
and r8, rbx
lea ecx, [r9 - 1]
mov eax, ecx
and ecx, ebx
and eax, edi
add eax, ecx
dec rax
add rax, r9
div r9
xor edx, edx
mov rcx, rax
mov rax, rdi
div r9
add rcx, rax
mov eax, ecx
test ecx, ecx
je 0x140007d47
lock or dword [r8], 0
add r8, r9
sub rax, 1
jne 0x140007d39
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rdi
ret
Function at 0x140007d60
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movsxd r8, dword [0x14000003c]
lea rdi, [0x140000000]
add r8, rdi
mov rsi, rdx
mov ebp, ecx
cmp dword [r8 + 0x84], 0xd
jbe 0x140007e4e
mov r9d, dword [r8 + 0xf0]
test r9d, r9d
je 0x140007e4e
movzx eax, word [r8 + 0x14]
lea rcx, [r8 + 0x18]
mov r10d, dword [r9 + rdi + 0xc]
add rcx, rax
movzx r11d, word [r8 + 6]
xor r9d, r9d
test r11d, r11d
je 0x140007de7
mov r8d, dword [rcx + 0xc]
cmp r10d, r8d
jb 0x140007ddb
mov edx, dword [rcx + 8]
lea eax, [rdx + r8]
cmp r10d, eax
jb 0x140007e20
inc r9d
add rcx, 0x28
cmp r9d, r11d
jb 0x140007dc6
mov eax, dword [rsp + 0x40]
xor ebx, ebx
mov edx, dword [rsp + 0x40]
test rbx, rbx
je 0x140007e4e
cmp dword [0x1400d6440], 0
jne 0x140007e29
mov dword [0x1400d6440], 1
test eax, eax
js 0x140007e14
mov ecx, 0x19
int 0x29
mov rcx, rbx
mov edi, edx
call fcn.140007cb4
jmp 0x140007e2b
mov eax, dword [rcx + 0x24]
lea rbx, [rdi + r8]
jmp 0x140007df1
mov edi, edx
mov r9, rsi
mov r8d, ebp
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
nop dword [rax + rax]
test eax, eax
jne 0x140007e54
lea ecx, [rax + 0x19]
int 0x29
jmp 0x140007e54
mov dword [rsi], 4
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
Function at 0x14000964c
Capabilities:
Get common file path
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor esi, esi
xor ebx, ebx
cmp qword [0x1400d5f98], rbx
jne 0x1400097ac
xor r8d, r8d
lea rcx, str.TRACE_FORMAT_SEARCH_PATH
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
nop dword [rax + rax]
mov edi, eax
jmp 0x1400096f0
mov edx, edi
sub edx, esi
test edx, edx
jle 0x1400096d3
test rbx, rbx
je 0x1400096a4
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
nop dword [rax + rax]
lea eax, [rdi + 1]
movsxd rsi, eax
add rsi, rsi
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_malloc]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
je 0x1400096f4
mov r8, rsi
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
mov esi, edi
mov r8d, esi
lea rcx, str.TRACE_FORMAT_SEARCH_PATH
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
nop dword [rax + rax]
mov edi, eax
sub eax, esi
test eax, eax
jg 0x140009688
xor eax, eax
lock cmpxchg qword [0x1400d5f98], rbx
je 0x140009710
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
nop dword [rax + rax]
cmp qword [0x1400d5f98], 0
jne 0x1400097ac
mov ecx, 0x208
call qword [sym.imp.msvcrt.dll_malloc]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
je 0x140009790
mov rdx, rax
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x140009756
cmp eax, 0x103
jle 0x140009790
mov rax, qword [0x1400d5f88]
test rax, rax
je 0x14000977f
cmp dword [0x1400d5f84], 0
lea rcx, str.Could_Not_get_current_dir_n
jne 0x14000977a
call qword [0x140027658]
jmp 0x14000977f
call fcn.14000ea20
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
nop dword [rax + rax]
xor ebx, ebx
xor eax, eax
lock cmpxchg qword [0x1400d5f98], rbx
je 0x1400097ac
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
nop dword [rax + rax]
mov rax, qword [0x1400d5f98]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x140009bf4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov r14, r8
mov rsi, rdx
mov rbx, rcx
cmp qword [rcx + 0x10], rcx
jne 0x140009c20
mov rdi, rcx
jmp 0x140009c7e
mov rbp, qword [rcx]
mov r15, rbx
lea rcx, [rbp + 0x18]
mov r8d, 0x10
mov rdx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
mov rdi, rbp
setns al
test al, al
movzx eax, al
cmove rdi, r15
xor rax, 1
mov r15, rdi
mov rbp, qword [rbp + rax*8 + 8]
lea rax, [0x1400cac00]
cmp rbp, rax
jne 0x140009c26
cmp rdi, rbx
je 0x140009c7e
lea rdx, [rdi + 0x18]
mov r8d, 0x10
mov rcx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
cmovs rdi, rbx
mov rbx, qword [rsp + 0x40]
mov rax, rsi
mov rbp, qword [rsp + 0x48]
mov qword [rsi], rdi
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
Function at 0x14000a1cc
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rax, qword [rcx]
lea r14, [rcx + 0x10]
xor r13d, r13d
mov qword [rcx + 8], rax
mov rsi, rcx
mov word [rax], r13w
mov rbx, qword [rcx + 8]
lea ebp, [r13 + 7]
sub rbx, qword [rcx]
mov ecx, 0xffffffff
sar rbx, 1
mov rax, qword [rsi]
cmp rax, r14
jne 0x14000a21d
mov rdi, rbp
jmp 0x14000a226
mov rdi, qword [r14]
sub rdi, rax
sar rdi, 1
sub rdi, rbx
lea rdx, [rax + rbx*2]
cmp rdi, rcx
mov r15d, edi
cmova r15d, ecx
lea rcx, str.TRACE_FORMAT_PREFIX
mov r8d, r15d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
nop dword [rax + rax]
mov r12d, eax
test eax, eax
jne 0x14000a27c
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ecx, eax
test eax, eax
je 0x14000a275
movzx eax, cx
or eax, 0x80070000
test ecx, ecx
cmovle eax, ecx
jmp 0x14000a285
mov eax, 0x80004005
jmp 0x14000a285
cmp r12d, r15d
mov eax, r13d
setae al
mov rcx, r12
test eax, eax
je 0x14000a2bf
js 0x14000a2c2
cmp rcx, rdi
jbe 0x14000a2b8
lea rdx, [r12 + rbx]
cmp rdx, rcx
jb 0x14000a2b1
mov rcx, rsi
call fcn.14000a558
mov ecx, 0xffffffff
test al, al
jne 0x14000a210
mov eax, 0x8007000e
jmp 0x14000a2c2
mov eax, 0x8000ffff
jmp 0x14000a2c2
add rbx, rcx
mov rcx, qword [rsi]
cmp rcx, r14
je 0x14000a2d3
mov rbp, qword [r14]
sub rbp, rcx
sar rbp, 1
cmp rbx, rbp
jbe 0x14000a2da
int 0x2c
mov rbp, qword [rsp + 0x58]
lea rcx, [rcx + rbx*2]
mov rbx, qword [rsp + 0x50]
mov qword [rsi + 8], rcx
mov rsi, qword [rsp + 0x60]
mov word [rcx], r13w
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret