joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140006800
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov r14, r8
mov rbp, rdx
mov rdi, rcx
mov rbx, r8
je 0x140006898
test r8, r8
jle 0x140006890
nop word [rax + rax]
mov rcx, rdi
call fcn.140004240
test rax, rax
jle 0x14000686e
cmp rbx, rax
mov rsi, rbx
mov rdx, rbp
cmovge rsi, rax
mov rax, qword [rdi + 0x40]
mov r8, rsi
mov rcx, qword [rax]
call fcn.14000aeb0
mov rax, qword [rdi + 0x58]
sub rbx, rsi
sub dword [rax], esi
mov rcx, qword [rdi + 0x40]
movsxd rax, esi
add qword [rcx], rax
jmp 0x140006888
mov rax, qword [rdi]
mov rcx, rdi
movzx edx, byte [rbp]
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x140006890
dec rbx
mov esi, 1
add rbp, rsi
test rbx, rbx
jg 0x140006830
sub r14, rbx
mov rax, r14
jmp 0x140006916
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], r15
mov r9, qword [rax]
test r9, r9
je 0x1400068b1
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x1400068b3
xor ecx, ecx
movsxd rsi, ecx
test r14, r14
jle 0x14000690b
test ecx, ecx
jle 0x1400068ec
cmp r14, rsi
mov rcx, r9
cmovl rsi, r14
mov r8, rsi
call fcn.14000aeb0
mov rax, qword [rdi + 0x58]
add rbp, rsi
sub r14, rsi
sub dword [rax], esi
mov rcx, qword [rdi + 0x40]
movsxd rax, esi
add qword [rcx], rax
test r14, r14
jle 0x14000690b
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x14000690b
mov r8, r14
mov edx, 1
mov rcx, rbp
call fcn.14001075c
sub r14, rax
mov r15, qword [rsp + 0x40]
sub rbx, r14
mov rax, rbx
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
Function at 0x140009b24
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140009b6e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140009b6e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140009b6e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140009b6e
cmp dword [rcx + 0x84], 0xe
jbe 0x140009b6e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140009b70
xor al, al
add rsp, 0x28
ret

Function at 0x140014a38
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x140014864
Function at 0x180001000
Capabilities:
Create process on windows
Parse pe header

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test edx, edx
je 0x180001078
cmp edx, 1
jne 0x18000108a
xor edx, edx
lea rcx, str.cmd.exe__C___phantombp__
call qword [sym.imp.KERNEL32.dll_WinExec]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
mov eax, 0x5a4d
mov qword [0x180022ce8], rbx
cmp word [rbx], ax
jne 0x180001070
movsxd rax, dword [rbx + 0x3c]
cmp dword [rax + rbx], 0x4550
jne 0x180001070
mov ecx, 0x20b
cmp word [rax + rbx + 0x18], cx
jne 0x180001070
mov eax, dword [rax + rbx + 0x88]
add rax, rbx
mov qword [0x180022cf0], rax
mov eax, 1
add rsp, 0x20
pop rbx
ret
xor eax, eax
add rsp, 0x20
pop rbx
ret
test r8, r8
jne 0x18000108a
mov rcx, qword [0x180022cf8]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
add rsp, 0x20
pop rbx
ret

Function at 0x1800010a0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x240
mov rax, qword [0x180021080]
xor rax, rsp
mov qword [rsp + 0x230], rax
movzx esi, cx
mov r15, rdx
test si, si
je 0x180001200
mov rax, qword [0x180022cf0]
mov edi, esi
sub edi, dword [rax + 0x10]
cmp edi, dword [rax + 0x14]
jae 0x180001200
xor ebx, ebx
xor eax, eax
lock cmpxchg qword [0x180022cf8], rbx
mov r8, rax
jne 0x18000118c
mov rax, qword [0x180022cf0]
lea rcx, [rsp + 0x20]
mov ebp, 0x104
mov edx, ebp
mov r14d, dword [rax + 0xc]
add r14, qword [0x180022ce8]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x180001200
mov eax, eax
lea rcx, [rsp + 0x20]
sub rbp, rax
lea r8, str._hs
mov r9, r14
mov rdx, rbp
lea rcx, [rcx + rax*2]
call fcn.180001240
test eax, eax
js 0x180001200
xor edx, edx
lea r8d, [rbx + 8]
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r8, rax
test rax, rax
je 0x180001200
xor eax, eax
lock cmpxchg qword [0x180022cf8], r8
mov rbp, rax
je 0x18000118c
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov r8, rbp
xor eax, eax
lock cmpxchg qword [r15], rbx
mov rcx, rax
jne 0x1800011fb
mov rax, qword [0x180022cf0]
mov r9, rsi
mov r10, qword [0x180022ce8]
mov ecx, dword [rax + 0x24]
mov r11d, dword [rax + 0x20]
add rcx, r10
mov edx, dword [rax + 0x18]
add r11, r10
test edx, edx
je 0x1800011dc
nop dword [rax]
movzx eax, word [rcx]
cmp edi, eax
je 0x1800011d3
inc ebx
add rcx, 2
cmp ebx, edx
jb 0x1800011c0
jmp 0x1800011dc
mov eax, ebx
mov r9d, dword [r11 + rax*4]
add r9, r10
mov rdx, r9
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
test rax, rax
je 0x1800011fb
xor eax, eax
lock cmpxchg qword [r15], rcx
cmovne rcx, rax
mov rax, rcx
jmp 0x180001202
xor eax, eax
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.180001810
mov rbx, qword [rsp + 0x280]
add rsp, 0x240
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x18000d3d4
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x18000d404
xor eax, eax
jmp 0x18000d4c7
mov rbp, rbx
cmp word [rax], si
je 0x18000d429
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x18000d410
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x18000d40c
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.18000d2f4
movsxd r14, eax
test eax, eax
jne 0x18000d467
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x18000d3fd
mov rcx, r14
call fcn.180009940
mov rdi, rax
test rax, rax
jne 0x18000d480
xor ecx, ecx
call fcn.180009904
jmp 0x18000d45c
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.18000d2f4
test eax, eax
jne 0x18000d4b1
mov rcx, rdi
call fcn.180009904
jmp 0x18000d4bb
xor ecx, ecx
call fcn.180009904
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret
Function at 0x14000bb64
Capabilities:
Hash data using sha1

Disassembly:
lea rax, vtable.SHA1.0
mov qword [rcx], rax
xor eax, eax
mov qword [rcx + 0x1c], rax
mov dword [rcx + 0x64], eax
mov dword [rcx + 8], 0x67452301
mov dword [rcx + 0xc], 0xefcdab89
mov dword [rcx + 0x10], 0x98badcfe
mov dword [rcx + 0x14], 0x10325476
mov dword [rcx + 0x18], 0xc3d2e1f0
mov word [rcx + 0x68], ax
mov rax, rcx
ret

Function at 0x14000bc6c
Capabilities:
Hash data using sha1

Disassembly:
push rbx
sub rsp, 0x20
movsxd rdx, dword [rcx + 0x64]
mov rbx, rcx
mov byte [rdx + rcx + 0x24], 0x80
mov eax, dword [rcx + 0x64]
inc eax
mov dword [rcx + 0x64], eax
cmp edx, 0x37
jle 0x14000bcc7
jmp 0x14000bc9a
cdqe
mov byte [rax + rcx + 0x24], 0
inc dword [rcx + 0x64]
mov eax, dword [rcx + 0x64]
cmp eax, 0x40
jl 0x14000bc8d
call fcn.14000bd0c
jmp 0x14000bcb2
movsxd rax, dword [rbx + 0x64]
mov byte [rax + rbx + 0x24], 0
inc dword [rbx + 0x64]
cmp dword [rbx + 0x64], 0x38
jl 0x14000bca6
jmp 0x14000bccc
cdqe
mov byte [rax + rcx + 0x24], 0
inc dword [rcx + 0x64]
mov eax, dword [rcx + 0x64]
cmp eax, 0x38
jl 0x14000bcba
mov al, byte [rbx + 0x23]
mov rcx, rbx
mov byte [rbx + 0x5c], al
mov al, byte [rbx + 0x22]
mov byte [rbx + 0x5d], al
mov al, byte [rbx + 0x21]
mov byte [rbx + 0x5e], al
mov al, byte [rbx + 0x20]
mov byte [rbx + 0x5f], al
mov al, byte [rbx + 0x1f]
mov byte [rbx + 0x60], al
mov al, byte [rbx + 0x1e]
mov byte [rbx + 0x61], al
mov al, byte [rbx + 0x1d]
mov byte [rbx + 0x62], al
mov al, byte [rbx + 0x1c]
mov byte [rbx + 0x63], al
add rsp, 0x20
pop rbx
jmp fcn.14000bd0c
Function at 0x14000bd0c
Capabilities:
Encode data using xor
Hash data using sha1

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, 0x140
mov r8, rcx
lea r9, [rsp]
add rcx, 0x25
mov r10d, 0x10
sub r9, r8
movzx eax, byte [rcx]
movzx edx, byte [rcx - 1]
lea rcx, [rcx + 4]
shl edx, 8
or edx, eax
movzx eax, byte [rcx - 3]
shl edx, 8
or edx, eax
movzx eax, byte [rcx - 2]
shl edx, 8
or edx, eax
mov dword [r9 + rcx - 0x29], edx
sub r10, 1
jne 0x14000bd3f
lea rcx, [rsp + 8]
lea edx, [r10 + 0x40]
mov eax, dword [rcx + 0x2c]
xor eax, dword [rcx + 0x18]
xor eax, dword [rcx - 8]
xor eax, dword [rcx]
lea rcx, [rcx + 4]
rol eax, 1
mov dword [rcx + 0x34], eax
sub rdx, 1
jne 0x14000bd75
mov r15d, dword [r8 + 8]
lea edi, [rdx + 0x14]
mov r12d, dword [r8 + 0xc]
mov ebp, r15d
mov r13d, dword [r8 + 0x10]
mov r11d, r12d
mov ebx, dword [r8 + 0x14]
mov r10d, r13d
mov r14d, dword [r8 + 0x18]
xor esi, esi
mov eax, r10d
lea r9d, [r14 + 0x5a827999]
and eax, r11d
mov ecx, r11d
not ecx
mov edx, ebp
and ecx, ebx
rol edx, 5
or ecx, eax
mov r14d, ebx
add edx, ecx
mov ebx, r10d
add edx, dword [rsp + rsi*4]
mov r10d, r11d
add r9d, edx
ror r10d, 2
inc rsi
mov r11d, ebp
mov ebp, r9d
cmp rsi, rdi
jl 0x14000bdb1
mov esi, 0x28
rol r9d, 5
add r14d, 0x6ed9eba1
add r9d, dword [rsp + rdi*4]
mov ecx, ebx
xor ecx, r10d
add r9d, r14d
xor ecx, r11d
mov r14d, ebx
mov ebx, r10d
add r9d, ecx
mov r10d, r11d
inc rdi
ror r10d, 2
mov r11d, ebp
mov ebp, r9d
cmp rdi, rsi
jl 0x14000bdf4
mov edx, 0x3c
mov ecx, r10d
rol r9d, 5
or ecx, r11d
mov eax, r10d
and ecx, ebx
add r14d, 0x8f1bbcdc
and eax, r11d
add r9d, r14d
or ecx, eax
mov r14d, ebx
add ecx, dword [rsp + rsi*4]
mov ebx, r10d
mov r10d, r11d
add r9d, ecx
ror r10d, 2
inc rsi
mov r11d, ebp
mov ebp, r9d
cmp rsi, rdx
jl 0x14000be31
mov eax, dword [rsp + rdx*4]
add r14d, 0xca62c1d6
rol r9d, 5
mov ecx, ebx
xor ecx, r10d
add r9d, r14d
xor ecx, r11d
mov r14d, ebx
mov ebx, r10d
add eax, ecx
mov r10d, r11d
add r9d, eax
ror r10d, 2
inc rdx
mov r11d, ebp
mov ebp, r9d
cmp rdx, 0x50
jl 0x14000be70
add dword [r8 + 0x14], ebx
lea eax, [r15 + r9]
add dword [r8 + 0x18], r14d
and dword [r8 + 0x64], 0
mov dword [r8 + 8], eax
lea eax, [r12 + r11]
lea r11, [rsp + 0x140]
mov dword [r8 + 0xc], eax
mov rbx, qword [r11 + 0x30]
lea eax, [r10 + r13]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov dword [r8 + 0x10], eax
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14001f154
Capabilities:
Accept command line arguments

Disassembly:
push rdi
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x40], rbx
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
and dword [rsp + 0x20], 0
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rbx, rax
test rax, rax
je 0x14001f1a8
call qword [sym.imp.GSRoot.dll_public:_static_class_GS::CommandLine____ptr64___cdecl_GS::CommandLine::Instance_void_]
mov rcx, rax
mov r8, rbx
mov edx, dword [rsp + 0x20]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::CommandLine::SetArgcArgvW_int__unsigned_short_int_const____ptr64____ptr64____ptr64]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov ebx, eax
mov dword [rsp + 0x24], eax
call qword [sym.imp.GSRoot.dll_int___cdecl_GS::Main_void_]
mov edi, eax
cmp ebx, 1
ja 0x14001f1ca
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov eax, edi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
Function at 0xbbe0b0
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.00bbe237
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, pe_nt_image_headers64
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0xbbe0e1
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0xbbe0c7
add dl, dl
jne 0xbbe0ee
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0xbbe14e
xor eax, eax
add dl, dl
jne 0xbbe0fd
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0xbbe205
add dl, dl
jne 0xbbe10e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xbbe11b
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xbbe128
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xbbe135
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0xbbe142
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0xbbe0d6
mov eax, 1
add dl, dl
jne 0xbbe15e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xbbe16b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0xbbe153
sub eax, ebx
mov ebx, 1
jne 0xbbe1a4
mov ecx, 1
add dl, dl
jne 0xbbe186
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0xbbe193
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0xbbe17b
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0xbbe0d6
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0xbbe1c0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0xbbe1cd
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0xbbe1b5
cmp eax, 0x7d00
jae 0xbbe1f3
cmp eax, 0x500
jb 0xbbe1ee
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0xbbe0d6
cmp eax, 0x7f
ja 0xbbe1f6
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0xbbe0d6
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0xbbe22a
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0xbbe0d6
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x140012608
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x14003f3a8]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov edx, 2
lea r9, [rsp + 0x30]
mov rdi, rcx
mov r8d, edx
mov rcx, qword [rcx + 0x80]
call qword [sym.imp.ntoskrnl.exe_IoOpenDeviceRegistryKey]
mov edx, eax
mov esi, eax
mov eax, 0xc0000000
and edx, eax
cmp edx, eax
je 0x1400127bb
mov ecx, dword [rdi + 0x1244]
or rbx, 0xffffffffffffffff
shr ecx, 8
test cl, 1
je 0x140012671
mov rcx, qword [rdi + 0x1610]
jmp 0x140012687
mov eax, dword [rdi + 0x1608]
mov ecx, dword [rdi + 0x1600]
add rcx, rax
cmp rcx, rax
cmovb rcx, rbx
mov qword [rsp + 0x38], rcx
mov rax, rbx
mov rcx, qword [str.NVIDIA_GeForce]
xor edi, edi
inc rax
cmp word [rcx + rax*2], di
jne 0x140012698
lea eax, [rax*2 + 2]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea rdx, [0x14003f048]
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ZwSetValueKey]
mov rcx, qword [0x14003f070]
mov rax, rbx
inc rax
cmp word [rcx + rax*2], di
jne 0x1400126d6
lea eax, [rax*2 + 2]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea rdx, [0x14003f060]
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ZwSetValueKey]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov dword [rsp + 0x28], 8
lea rdx, [0x14003f078]
mov r9d, 0xb
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ntoskrnl.exe_ZwSetValueKey]
mov rcx, qword [str.NVIDIA_WDDM_3D]
mov rax, rbx
inc rax
cmp word [rcx + rax*2], di
jne 0x140012741
lea eax, [rax*2 + 2]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea rdx, [0x14003f090]
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ZwSetValueKey]
mov rcx, qword [0x14003f0b8]
inc rbx
cmp word [rcx + rbx*2], di
jne 0x14001277c
lea eax, [rbx*2 + 2]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea rdx, [0x14003f0a8]
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ZwSetValueKey]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
mov eax, esi
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400245d0
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
Function at 0x140001000
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rdi, rdx
lea ebp, [rcx + 0x109]
mov edx, r8d
lea r10d, [r9 + 0x198]
xor edx, 0x301
mov ebx, r8d
xor ebx, 0x371
mov esi, r8d
lea eax, [rdx - 0x8c]
cmp ebx, eax
je 0x1400010df
lea eax, [r10 - 0x89]
cmp ebx, eax
jge 0x1400010a4
mov eax, dword [rdi + 0x80]
lea r9d, [rbx - 0x83]
add eax, 0x37e61776
lea r11, [0x1400d8010]
mov qword [rsp + 0x30], r11
lea r8d, [rbx + 0x198]
mov dword [rdi], eax
lea ecx, [rsi - 0x22]
lea eax, [rdx - 0x79]
xor r10d, 0x27b
mov dword [rsp + 0x28], eax
mov edx, esi
mov dword [rsp + 0x20], r9d
xor edx, 0x51f
mov r9d, r10d
call fcn.140011c74
mov r10d, eax
jmp 0x1400010df
mov eax, esi
lea edx, [rcx - 0x2530]
sub eax, dword [rdi + 0xc0]
cmp edx, eax
jae 0x1400010df
mov ecx, dword [0x1400d8150]
imul eax, dword [rdi + 0xc4], 0x25c3
add edx, 4
xor ecx, eax
mov eax, esi
xor ecx, ebp
mov dword [0x1400d8150], ecx
sub eax, dword [rdi + 0xc0]
cmp edx, eax
jb 0x1400010bc
cmp dword [rdi + 0x110], 0xa137
jbe 0x140001101
mov rax, qword [section..data]
mov ecx, dword [rax + 0x1c]
add ecx, 0x173ee
mov dword [0x1400d8060], ecx
add esi, 0xfffffd3d
lea eax, [r10 + 0x2c3]
cmp ebp, eax
jg 0x140001153
mov eax, r10d
xor eax, 0x697
cmp ebp, eax
jle 0x14000113f
xor ebx, 0x70
lea eax, [r10 + 0x2f]
mov r8d, ebx
mov dword [rsp + 0x20], eax
mov ecx, ebx
lea r9d, [r10 + 0x1e6]
mov rdx, rdi
call fcn.14001242c
jmp 0x140001153
mov ecx, dword [0x1400d8080]
sub ecx, dword [0x1400d805c]
sub ecx, esi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, qword [rsp + 0x50]
lea eax, [rsi + 0x32a]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
Function at 0x1400013f0
Capabilities:
Allocate or change rwx memory

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, 0x30
mov edi, dword [rsp + 0x88]
lea ebp, [rdx + 0x2ae]
mov esi, r9d
mov r15d, r9d
add r9d, 0x2b4
mov r14d, edi
xor r14d, 0x23ff
xor esi, 0x91
xor r15d, 0x347
lea r13d, [rdi - 0x23ff]
mov rbx, r8
lea eax, [r9 - 0x176]
cmp r14d, eax
jg 0x140001590
lea eax, [rbp - 0x34c]
cmp esi, eax
je 0x1400014ee
mov eax, dword [0x1400d80e8]
cmp dword [0x1400d8150], eax
ja 0x1400014a9
mov rax, qword [section..data]
mov r8d, dword [r8 + 0x78]
mov edx, dword [rbx + 0x48]
mov ecx, dword [rax + 0x90]
add ecx, 0x2fff
add r8d, ecx
xor ecx, ecx
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
add rax, 0x5800
mov qword [0x1400d8108], rax
cmp dword [rbx + 0x4c], 0xfb3d
ja 0x1400014c3
mov eax, dword [rbx + 0xac]
add eax, 0xe6f92
mov dword [0x1400d807c], eax
mov eax, dword [0x1400d80a0]
add edi, 0x1e
cmp dword [rbx + 0x30], eax
jb 0x140001590
mov eax, dword [rbx + 0xa4]
sub eax, dword [rbx + 0x110]
add eax, 0x1ba0a2
xor dword [rbx + 0x6c], eax
jmp 0x140001590
mov ecx, dword [r8 + 0xb0]
mov rax, qword [section..data]
sub ecx, esi
add ecx, r9d
cmp dword [rax + 0x18], ecx
jb 0x140001590
mov eax, dword [0x1400d80d4]
mov r12d, ebp
imul eax, esi
cmp ebp, eax
jne 0x140001590
mov edx, dword [rbx + 0xd0]
mov eax, dword [rbx + 0xcc]
add edx, r14d
mov r9d, dword [rbx + 0x10c]
sub eax, 0x264a
mov ecx, dword [rbx + 0x34]
or r9d, r13d
mov r8d, dword [rbx + 8]
and eax, ebp
and ecx, dword [0x1400d8090]
sub r9d, 0x2729
sub r8d, dword [rbx + 0x64]
and ecx, r13d
mov dword [rsp + 0x28], edx
lea rdx, [0x1400d8010]
mov dword [rsp + 0x20], eax
call fcn.140011f30
mov ecx, r13d
mov edx, r15d
sub ecx, dword [rbx + 0xc0]
or rcx, rdx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x1400d80d4]
add r12d, 3
imul ecx, esi
cmp r12d, ecx
je 0x14000151a
mov rbx, qword [rsp + 0x60]
xor edi, 0x334
mov rbp, qword [rsp + 0x68]
mov eax, edi
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14000c168
Capabilities:
Read file on windows

Disassembly:
sub rsp, 0x28
mov rdx, rcx
test rcx, rcx
jne 0x14000c145
call fcn.14000ae38
mov dword [rax], 0x16
call fcn.14000ad18
or eax, 0xffffffff
jmp 0x14000c162
sub dword [rcx + 0x10], 1
jns 0x14000c154
add rsp, 0x28
jmp 0x14000ef2c
mov rax, qword [rcx]
movzx ecx, byte [rax]
inc rax
mov qword [rdx], rax
mov eax, ecx
add rsp, 0x28
ret
jmp 0x14000c124
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
mov rbp, rsp
sub rsp, 0x20
test rcx, rcx
jne 0x14000edcc
call fcn.14000ae38
mov dword [rax], 0x16
call fcn.14000ad18
or eax, 0xffffffff
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x14000edb4
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 0xc
test cl, 1
jne 0x14000edb4
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp + 0x10]
shr ecx, 1
test cl, 1
je 0x14000edfe
lock or dword [rax + 0x14], 0x10
jmp 0x14000edb4
lock or dword [rax + 0x14], 1
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
test ecx, 0x4c0
jne 0x14000ee1b
mov rcx, qword [rbp + 0x10]
call fcn.14000ef34
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 8]
mov qword [rax], rcx
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.14000bf68
mov rdx, qword [rbp + 0x10]
mov ecx, eax
mov r8d, dword [rdx + 0x20]
mov rdx, qword [rdx + 8]
call fcn.14001032c
mov dword [rbx + 0x10], eax
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0x10]
lea ecx, [rdx + 1]
cmp ecx, 1
ja 0x14000ee72
neg edx
sbb ecx, ecx
and ecx, 8
add ecx, 8
lock or dword [rax + 0x14], ecx
mov rax, qword [rbp + 0x10]
and dword [rax + 0x10], 0
jmp 0x14000edb4
mov ecx, dword [rax + 0x14]
test cl, 6
jne 0x14000eede
mov rcx, qword [rbp + 0x10]
call fcn.14000bf68
cmp eax, 0xffffffff
je 0x14000eec5
mov rcx, qword [rbp + 0x10]
call fcn.14000bf68
cmp eax, 0xfffffffe
je 0x14000eec5
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.14000bf68
movsxd rdi, eax
lea rsi, [0x14016f1a0]
mov rcx, rbx
sar rdi, 6
call fcn.14000bf68
and eax, 0x3f
shl rax, 6
add rax, qword [rsi + rdi*8]
jmp 0x14000eecc
lea rax, [0x14016e640]
mov al, byte [rax + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x14000eede
mov rax, qword [rbp + 0x10]
lock or dword [rax + 0x14], 0x20
mov rax, qword [rbp + 0x10]
cmp dword [rax + 0x20], 0x200
jne 0x14000ef14
mov ecx, dword [rax + 0x14]
shr ecx, 6
test cl, 1
je 0x14000ef10
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 8
test cl, 1
jne 0x14000ef10
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x20], 0x1000
mov rax, qword [rbp + 0x10]
dec dword [rax + 0x10]
mov rcx, qword [rax]
movzx edx, byte [rcx]
inc rcx
mov qword [rax], rcx
mov eax, edx
jmp 0x14000edb7
jmp 0x14000ed84