joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003a430
Capabilities:
Check if file exists
Delete directory
Delete file
Set file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x568
mov byte [rsp + 0x2f], r8b
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14018a040]
xor rax, rsp
mov qword [rsp + 0x560], rax
lea r14, [rsp + 0x298]
mov r8d, 0x2c8
mov rcx, r14
mov dl, 0xaa
call fcn.1400e7610
mov qword [rsp + 0x20], rsi
xor ebp, ebp
mov rcx, r14
mov rdx, rdi
xor r8d, r8d
mov r9d, 3
call fcn.14003a8f0
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x30]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [0x14015feb0]
movaps xmmword [rdi], xmm0
mov rcx, r14
mov rdx, rdi
call fcn.14003aae0
movsx rax, byte [rdi + 0x17]
test rax, rax
jns 0x14003a4ca
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14003a59e
lea r14, [rsp + 0x48]
lea r15, [rsp + 0x298]
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov rbx, qword [sym.imp.KERNEL32.dll_DeleteFileW]
xor r12d, r12d
mov r8d, 0x250
mov rcx, r14
mov dl, 0xaa
call fcn.1400e7610
mov rcx, r15
mov rdx, r14
call fcn.14003aa90
mov edx, dword [rsp + 0x48]
test dl, 1
jne 0x14003a62d
mov rcx, r14
call fcn.14003a800
test al, al
jne 0x14003a5ec
cmp byte [rsp + 0x47], 0
mov rcx, rdi
jns 0x14003a538
mov rcx, qword [rsp + 0x30]
call rbx
test eax, eax
jne 0x14003a5e5
call r13
mov ebp, eax
and eax, 0xfffffffe
cmp eax, 2
mov eax, 0
cmove ebp, eax
test r12d, r12d
cmovne ebp, r12d
mov rcx, r14
call fcn.140024880
mov rcx, r15
mov rdx, r14
call fcn.14003aae0
mov rcx, rdi
mov rdx, r14
call fcn.14003e2f0
mov rcx, r14
call fcn.14008bbb0
movsx rax, byte [rsp + 0x47]
test rax, rax
jns 0x14003a592
mov rax, qword [rsp + 0x38]
mov r12d, ebp
test rax, rax
jne 0x14003a4f1
lea rcx, [rsp + 0x30]
call fcn.14008bbb0
lea rcx, [rsp + 0x298]
call fcn.14003aa20
mov rcx, qword [rsp + 0x560]
xor rcx, rsp
cmp rcx, qword [0x14018a040]
je 0x14003a5cf
call fcn.1400b6ad0
int3
mov eax, ebp
add rsp, 0x568
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ebp, ebp
jmp 0x14003a555
xor ebp, ebp
cmp byte [rsp + 0x2f], 0
je 0x14003a555
mov rcx, rdi
mov rdx, rsi
mov r8b, 1
call fcn.14003a430
test eax, eax
jne 0x14003a680
cmp byte [rsp + 0x47], 0
mov rcx, rdi
jns 0x14003a61a
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x14003a555
jmp 0x14003a542
cmp byte [rsp + 0x2f], 0
je 0x14003a655
cmp byte [rsp + 0x47], 0
js 0x14003a642
lea rcx, [rsp + 0x30]
jmp 0x14003a647
mov rcx, qword [rsp + 0x30]
and edx, 0xfffffffe
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x14003a519
lea rcx, [rsp + 0x48]
call fcn.14003a800
test al, al
jne 0x14003a669
mov edx, dword [rsp + 0x48]
jmp 0x14003a634
lea rcx, [rsp + 0x48]
call fcn.14003a800
test al, al
je 0x14003a529
jmp 0x14003a5e5
mov ebp, eax
jmp 0x14003a555
Function at 0x14003ca40
Capabilities:
Delete file

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rsi, rcx
mov rax, qword [0x14018a040]
xor rax, rsp
mov qword [rsp + 0x50], rax
call fcn.14003cc10
mov eax, dword [rsi]
mov dword [0x14018c144], eax
mov bl, 1
test al, 1
jne 0x14003ca91
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
cmp rcx, qword [0x14018a040]
je 0x14003ca85
call fcn.1400b6ad0
int3
mov eax, ebx
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, qword [0x14019b8c8]
test rcx, rcx
je 0x14003cabf
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x14019b8c8], 0
cmp qword [0x14019b8d0], 0
jne 0x14003cabf
and byte [0x14018c144], 0xfe
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x14003cae8
movsx rcx, byte [rsi + 0x1f]
test rcx, rcx
jns 0x14003cad6
mov rcx, qword [rsi + 0x10]
test rcx, rcx
jne 0x14003cb61
mov qword [0x14019b8c8], rax
jmp 0x14003ca6e
movsx rax, byte [rsi + 0x1f]
test rax, rax
jns 0x14003caf6
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14003cbb0
lea rdi, [rsi + 8]
mov rcx, qword [0x14019b8d0]
test rcx, rcx
jne 0x14003cb31
mov ecx, 0x18
call fcn.1400b57a8
mov rcx, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov qword [0x14019b8d0], rax
mov rdx, rdi
call fcn.140080b10
cmp dword [rsi + 0x24], 0
jne 0x14003cb55
mov rcx, qword [0x14019b8d0]
cmp byte [rcx + 0x17], 0
jns 0x14003cb4f
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.140103f00
mov ebx, eax
jmp 0x14003ca6e
lea rdx, str.BaseInitLoggingImpl_built_with_NDEBUG
lea r8, str....._baselogging.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r9d, 0x232
call fcn.14008b9e0
lea rdx, str.settings.log_file_path.empty__
lea r14, [rsp + 0x48]
mov rcx, r14
mov r8d, 0x7f
mov r9, rdi
call fcn.14010bf90
mov rcx, r14
call fcn.14010c1a0
mov rax, qword [rsi + 0x28]
jmp 0x14003cadf
lea rdx, str.BaseInitLoggingImpl_built_with_NDEBUG
lea r8, str....._baselogging.cc
lea rdi, [rsp + 0x28]
mov rcx, rdi
mov r9d, 0x238
call fcn.14008b9e0
lea rdx, str._settings.log_file_path.empty__
lea rbx, [rsp + 0x20]
mov rcx, rbx
mov r8d, 0x7f
mov r9, rdi
call fcn.14010bf90
lea rdx, str.LOG_TO_FILE_set_but_no_log_file_path_
mov rcx, rbx
call fcn.140103ed0
mov rcx, rbx
call fcn.14010c1a0
jmp 0x14003caff
Function at 0x14003e330
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14018a040]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r8, qword [rcx]
mov r9, qword [rcx + 8]
cmp r9, 2
jb 0x14003e460
cmp word [r8 + 2], 0x3a
jne 0x14003e460
movzx eax, word [r8]
and eax, 0xffffffdf
add eax, 0xffffffbf
cmp ax, 0x1a
jae 0x14003e460
mov ebx, 2
xor eax, eax
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
cmp rdx, 2
jb 0x14003e469
cmp word [rcx + 2], 0x3a
jne 0x14003e469
movzx r10d, word [rcx]
and r10d, 0xffffffdf
add r10d, 0xffffffa5
cmp r10w, 0xffe6
setae r10b
not al
test al, r10b
je 0x14003e469
cmp r9, rbx
cmovae r9, rbx
lea rdx, [rsp + 0x38]
mov qword [rdx], rcx
mov qword [rdx + 8], 2
lea rcx, [rsp + 0x28]
mov qword [rcx], r8
mov qword [rcx + 8], r9
mov r8d, 1
call fcn.1400873b0
test al, al
je 0x14003e416
mov rcx, qword [rdi + 8]
sub rcx, rbx
jb 0x14003e48d
mov rax, qword [rsi + 8]
cmp rax, 1
jbe 0x14003e48d
add rax, 0xfffffffffffffffe
cmp rcx, rax
je 0x14003e437
xor eax, eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
cmp rcx, qword [0x14018a040]
je 0x14003e42f
call fcn.1400b6ad0
int3
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
mov al, 1
test rcx, rcx
je 0x14003e418
add ebx, ebx
add rbx, qword [rdi]
mov rdx, qword [rsi]
xor r8d, r8d
movzx r9d, word [rbx + r8*2]
cmp r9w, word [rdx + r8*2 + 4]
jne 0x14003e416
inc r8
cmp rcx, r8
jne 0x14003e449
jmp 0x14003e418
mov al, 1
xor ebx, ebx
jmp 0x14003e384
cmp r9, rdx
jne 0x14003e416
mov al, 1
test r9, r9
je 0x14003e418
xor edx, edx
movzx r10d, word [r8 + rdx*2]
cmp r10w, word [rcx + rdx*2]
jne 0x14003e416
inc rdx
cmp r9, rdx
jne 0x14003e477
jmp 0x14003e418
lea rcx, str.string_view::substr
call fcn.1400e84a0
int3

Function at 0x14003fe40
Capabilities:
Accept command line arguments

Disassembly:
push rsi
push rdi
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm6
mov rax, qword [0x14018a040]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdi, qword [0x14019b938]
test rdi, rdi
jne 0x14003fef2
mov ecx, 0x50
call fcn.1400b57a8
mov rsi, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
mov ecx, 0x18
call fcn.1400b57a8
mov qword [rsi + 0x18], rax
lea rcx, [rax + 0x18]
mov qword [rsi + 0x28], rcx
test rax, rax
je 0x14003ff1b
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rsi + 0x20], rcx
mov rax, rsi
add rax, 0x38
movups xmmword [rsi + 0x38], xmm6
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x48], 1
mov qword [0x14019b938], rsi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rsp + 0x28], rax
test rax, rax
je 0x14003ff1b
mov rcx, rax
call fcn.1400d21d8
lea rdx, [rsp + 0x28]
mov qword [rdx + 8], rax
mov rcx, rsi
call fcn.14003ff20
test rdi, rdi
sete al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
cmp rcx, qword [0x14018a040]
je 0x14003ff0f
call fcn.1400b6ad0
int3
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x58
pop rdi
pop rsi
ret
ud2
Function at 0x140043290
Capabilities:
Query environment variable

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x230
mov rsi, rcx
mov rax, qword [0x14018a040]
xor rax, rsp
mov qword [rsp + 0x228], rax
lea rdi, [rsp + 0x20]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.1400e7610
mov word [rdi], 0
lea rcx, str.PROGRAMFILES
mov rdx, rdi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x140043317
mov ebx, eax
cmp word [rsp + rbx*2 + 0x1e], 0x5c
je 0x14004347e
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140043304
mov rcx, qword [rsi]
mov rdx, rdi
mov r8, rbx
call fcn.1400cd770
test eax, eax
je 0x140043412
lea rdx, [rsp + 0x20]
mov word [rdx], 0
lea rcx, str.PROGRAMFILES_X86_
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x14004336c
mov ebx, eax
cmp word [rsp + rbx*2 + 0x1e], 0x5c
je 0x14004348c
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140043359
mov rcx, qword [rsi]
mov rdx, rdi
mov r8, rbx
call fcn.1400cd770
test eax, eax
je 0x140043446
lea rdx, [rsp + 0x20]
mov word [rdx], 0
lea rcx, str.PROGRAMW6432
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x1400433bd
mov ebx, eax
cmp word [rsp + rbx*2 + 0x1e], 0x5c
je 0x14004349a
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x1400433ae
mov rcx, qword [rsi]
mov rdx, rdi
mov r8, rbx
call fcn.1400cd770
test eax, eax
je 0x1400433e4
xor eax, eax
mov rcx, qword [rsp + 0x228]
xor rcx, rsp
cmp rcx, qword [0x14018a040]
je 0x1400433d9
call fcn.1400b6ad0
int3
add rsp, 0x230
pop rbx
pop rdi
pop rsi
ret
movsx rcx, byte [rsi + 0x17]
mov rdx, rcx
test rcx, rcx
jns 0x1400433f5
mov rdx, qword [rsi + 8]
mov al, 1
cmp rdx, rbx
je 0x1400433bf
jb 0x1400434a8
test cl, cl
jns 0x140043409
mov rsi, qword [rsi]
cmp word [rsi + rbx*2], 0x5c
jne 0x1400433bd
jmp 0x1400433bf
movsx rcx, byte [rsi + 0x17]
mov rdx, rcx
test rcx, rcx
jns 0x140043423
mov rdx, qword [rsi + 8]
mov al, 1
cmp rdx, rbx
je 0x1400433bf
jb 0x1400434a8
mov rdx, rsi
test cl, cl
jns 0x140043436
mov rdx, qword [rsi]
cmp word [rdx + rbx*2], 0x5c
jne 0x140043317
jmp 0x1400433bf
movsx rcx, byte [rsi + 0x17]
mov rdx, rcx
test rcx, rcx
jns 0x140043457
mov rdx, qword [rsi + 8]
mov al, 1
cmp rdx, rbx
je 0x1400433bf
jb 0x1400434a8
mov rdx, rsi
test cl, cl
jns 0x14004346e
mov rdx, qword [rsi]
cmp word [rdx + rbx*2], 0x5c
jne 0x14004336c
jmp 0x1400433bf
dec rbx
jne 0x1400432ec
jmp 0x140043317
dec rbx
jne 0x140043341
jmp 0x14004336c
dec rbx
jne 0x140043396
jmp 0x1400433bd
ud2

Function at 0x140044610
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x28
test rdx, rdx
jne 0x14004462a
test r8d, r8d
jne 0x140044623
call fcn.140094570
xor eax, eax
add rsp, 0x28
ret
mov r8d, r8d
add rsp, 0x28
jmp fcn.14008f450
Function at 0x140044ea0
Capabilities:
Get system information on windows

Disassembly:
push rsi
push rdi
sub rsp, 0x158
mov rax, qword [0x14018a040]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov eax, dword [0x14019ba08]
mov ecx, dword [0x140198758]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140044f07
lea rax, [0x14019ba00]
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
cmp rcx, qword [0x14018a040]
je 0x140044efd
call fcn.1400b6ad0
int3
add rsp, 0x158
pop rdi
pop rsi
ret
lea rcx, [0x14019ba08]
call fcn.1400b582c
cmp dword [0x14019ba08], 0xffffffff
jne 0x140044edc
lea rsi, [rsp + 0x38]
mov r8d, 0x118
mov rcx, rsi
xor edx, edx
call fcn.1400e7610
mov dword [rsi - 4], 0x11c
lea rsi, [rsp + 0x34]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
lea rdi, [rsp + 0x30]
mov dword [rdi], 0
mov ecx, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov qword [rsp + 0x20], rdi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetProductInfo]
mov ecx, 0x88
call fcn.1400b57a8
mov rsi, rax
mov edi, dword [rdi]
mov eax, dword [0x14019ba50]
mov ecx, dword [0x140198758]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140044fc7
lea r8, [0x14019ba20]
lea rdx, [rsp + 0x34]
mov rcx, rsi
mov r9d, edi
call fcn.1400450c0
mov qword [0x14019ba00], rsi
lea rcx, [0x14019ba08]
call fcn.1400b58e0
jmp 0x140044edc
lea rcx, [0x14019ba50]
call fcn.1400b582c
cmp dword [0x14019ba50], 0xffffffff
jne 0x140044f98
xorps xmm0, xmm0
movups xmmword [0x14019ba40], xmm0
movups xmmword [0x14019ba30], xmm0
movups xmmword [0x14019ba20], xmm0
lea rcx, [0x14019ba20]
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
lea rcx, [0x14019ba50]
call fcn.1400b58e0
jmp 0x140044f98

Function at 0x140045010
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x28
mov eax, dword [0x14019ba50]
mov ecx, dword [0x140198758]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14004504b
movzx eax, word [0x14019ba20]
cmp eax, 9
jne 0x140045093
mov eax, 1
add rsp, 0x28
ret
lea rcx, [0x14019ba50]
call fcn.1400b582c
cmp dword [0x14019ba50], 0xffffffff
jne 0x140045035
xorps xmm0, xmm0
movups xmmword [0x14019ba40], xmm0
movups xmmword [0x14019ba30], xmm0
movups xmmword [0x14019ba20], xmm0
lea rcx, [0x14019ba20]
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
lea rcx, [0x14019ba50]
call fcn.1400b58e0
jmp 0x140045035
test eax, eax
je 0x140045046
cmp eax, 6
jne 0x1400450a3
mov eax, 2
jmp 0x140045046
cmp eax, 0xc
jne 0x1400450af
mov eax, 3
jmp 0x140045046
mov eax, 4
jmp 0x140045046
Function at 0x140046aa0
Capabilities:
Check if file exists

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
cmp dword [rcx + 0x10], 0
jne 0x140046b8e
cmp qword [rsi], 0
jne 0x140046b8e
cmp dword [rsi + 0x14], 0
jne 0x140046b8e
cmp qword [rsi + 8], 0
jne 0x140046b8e
xor eax, eax
mov r14, qword [rdi]
cmp rax, r14
je 0x140046b10
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x140046b60
lea rax, [r14 + 1]
cmp rax, 2
jb 0x140046b08
mov qword [rsi], r14
call fcn.14008ba00
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rdi + 8]
cmp qword [rsi + 8], r14
je 0x140046b4a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 8]
inc rax
cmp rax, 2
jae 0x140046b76
lea rax, [r14 + 1]
cmp rax, 2
jb 0x140046b42
mov qword [rsi + 8], r14
call fcn.14008ba00
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0x10], eax
mov eax, dword [rdi + 0x14]
mov dword [rsi + 0x14], eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.14008ba00
mov rcx, qword [rsi]
call fcn.140086ef0
mov qword [rsi], 0
jmp 0x140046af6
call fcn.14008ba00
mov rcx, qword [rsi + 8]
call fcn.140086ef0
mov qword [rsi + 8], 0
jmp 0x140046b2f
mov rcx, rsi
call fcn.14010ca80
mov rax, qword [rsi]
jmp 0x140046ada
Function at 0x14004a330
Capabilities:
Accept command line arguments
Query environment variable

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x248
mov rax, qword [0x14018a040]
xor rax, rsp
mov qword [rsp + 0x240], rax
movaps xmm0, xmmword [0x14015feb0]
lea rcx, [rsp + 0x20]
movaps xmmword [rcx], xmm0
call sub.ntdll.dll_RtlFormatCurrentUserKeyPath
mov esi, eax
test eax, eax
js 0x14004a4ac
lea rdi, [rsp + 0x20]
mov rdx, qword [rdi + 8]
lea rbx, [0x14019c0b0]
mov r14d, 0xff
mov r8d, 0xff
mov rcx, rbx
call fcn.1400d262c
mov rcx, rbx
call fcn.1400d21d8
sub r14, rax
lea rdx, [0x1401647be]
mov rcx, rbx
mov r8, r14
call fcn.1400d262c
mov rcx, rdi
call sub.ntdll.dll_RtlFreeUnicodeString
lea rbx, [rsp + 0x30]
mov r8d, 0x208
mov rcx, rbx
xor edx, edx
call fcn.1400e7610
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdi, rax
lea rcx, str.PROGRAMFILES
mov rdx, rbx
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x14004a40c
mov r8d, eax
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.1400d2674
test eax, eax
je 0x14004a4d8
lea rcx, str.PROGRAMFILES_X86_
lea rdx, [rsp + 0x30]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x14004a447
mov r8d, eax
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.1400d2674
test eax, eax
je 0x14004a4d8
xor eax, eax
mov byte [0x14019bca9], al
mov dword [rsp + 0x30], 0
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140171954]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14004a4df
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea rdx, [rsp + 0x30]
mov rcx, rax
mov rax, rdi
call qword [0x14017da28]
test eax, eax
je 0x14004a4df
cmp dword [rsp + 0x30], 0
setne al
mov byte [0x14019c2b0], al
mov byte [0x14019bca8], 1
test esi, esi
setns al
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
cmp rcx, qword [0x14018a040]
je 0x14004a4cb
call fcn.1400b6ad0
int3
add rsp, 0x248
pop rbx
pop rdi
pop rsi
pop r14
ret
mov al, 1
jmp 0x14004a449
xor eax, eax
jmp 0x14004a49f
Function at 0x14004a710
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rsi, r8
mov ebx, edx
mov edi, ecx
mov rax, qword [0x14018a040]
xor rax, rsp
mov qword [rsp + 0x70], rax
movsx rax, byte [r8 + 0x17]
test rax, rax
jns 0x14004a744
mov rax, qword [rsi + 8]
test rax, rax
je 0x14004a84a
bt ebx, 8
jae 0x14004a760
mov eax, ebx
and eax, 0x200
jne 0x14004a84a
cmp edi, 2
lea rax, [0x14019bcb0]
lea rcx, [0x14019beb0]
cmove rcx, rax
cmp word [rcx], 0
jne 0x14004a84a
xorps xmm0, xmm0
lea r14, [rsp + 0x40]
movaps xmmword [r14 + 0x20], xmm0
movaps xmmword [r14 + 0x10], xmm0
movaps xmmword [r14], xmm0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [r14], 0
je 0x14004a84a
bt ebx, 8
jb 0x14004a84a
shr ebx, 9
and ebx, 1
or bl, byte [0x14019c2b0]
test bl, 1
je 0x14004a84a
cmp edi, 2
lea rax, str.SOFTWAREClasses
lea r12, str.SOFTWARE
cmove r12, rax
movsx r13, byte [rsi + 0x17]
test r13, r13
jns 0x14004a872
mov r14, qword [rsi]
mov r13, qword [rsi + 8]
mov edi, 1
xor ebx, ebx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x2c], 0
mov r15, qword [r12 + 8]
mov rbp, r13
sub rbp, r15
jb 0x14004a833
mov rdx, qword [r12]
mov rcx, r14
mov r8, r15
call fcn.1400cd770
test eax, eax
je 0x14004a87a
add r12, 0x28
inc rbx
cmp rbx, rdi
jb 0x14004a813
cmp dword [rsp + 0x2c], 0
jne 0x14004a8f5
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
cmp rcx, qword [0x14018a040]
je 0x14004a861
call fcn.1400b6ad0
int3
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, rsi
jmp 0x14004a7f2
movzx ecx, word [r14 + r15*2]
cmp ecx, 0x5c
je 0x14004a888
test ecx, ecx
jne 0x14004a833
lea rax, [r14 + r15*2]
mov edx, dword [r12 + 0x10]
mov dword [rsp + 0x2c], edx
cmp edx, 1
je 0x14004a8b4
cmp dword [rsp + 0x2c], 2
jne 0x14004a8c5
lea rdx, str.WOW6432Node
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
jmp 0x14004a8c5
lea rdx, str.WOW6432Node_
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r14
cmp cx, 0x5c
jne 0x14004a8de
lea r14, [rax + 2]
dec rbp
cmp word [rax + 2], 0x5c
mov rax, r14
je 0x14004a8cb
jmp 0x14004a8e1
mov r14, rax
mov rdi, qword [r12 + 0x20]
mov r12, qword [r12 + 0x18]
xor ebx, ebx
mov r13, rbp
jmp 0x14004a83a
cmp byte [rsi + 0x17], 0
mov rax, rsi
jns 0x14004a901
mov rax, qword [rsi]
cmp qword [rsp + 0x30], 0
je 0x14004a937
mov rbx, qword [rsp + 0x38]
sub rbx, rax
sar rbx, 1
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.1400d21d8
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
mov r9, rax
call fcn.140036860
jmp 0x14004a84a
ud2
Function at 0x140053b30
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, r9
mov rdi, r8
mov rbx, rdx
mov r15, rcx
mov r13, qword [rsp + 0xb0]
mov rax, qword [0x14018a040]
xor rax, rsp
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
xor r14d, r14d
test r13, r13
je 0x140053ba0
mov ecx, dword [r13 + 0x2c]
call fcn.14009bea0
test rax, rax
je 0x140053c7b
mov r12, rax
xor ecx, ecx
call fcn.14009bf00
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
mov r14, r12
mov rax, qword [r13 + 0x10]
lea rcx, [0x14012af00]
cmp rax, rcx
jne 0x140053c7f
xorps xmm0, xmm0
movups xmmword [r14 + 0x5c], xmm0
movups xmmword [r14 + 0x50], xmm0
movups xmmword [r14 + 0x40], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x20], xmm0
movaps xmm0, xmmword [0x1401742e0]
movups xmmword [r14], xmm0
movaps xmm0, xmmword [0x1401742f0]
movups xmmword [r14 + 0x10], xmm0
mov dword [r14 + 0x6c], 0x20
lea r14, [rsp + 0x20]
mov rax, qword [r14]
mov rax, qword [rax + 0x18]
mov rcx, r14
mov rdx, r15
mov r8, rbx
call qword [0x14017da28]
mov rax, qword [r14]
mov rax, qword [rax + 0x20]
mov rcx, r14
mov rdx, rdi
call qword [0x14017da28]
mov rax, qword [r14]
test rsi, rsi
je 0x140053c2a
mov ecx, dword [rax + 4]
mov dword [rsi], ecx
mov edx, dword [rax + 0x2c]
mov rcx, qword [rsp + 0x28]
call fcn.14009bf40
mov r14d, 1
mov rcx, qword [rsp + 0x28]
call fcn.14009bf00
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x140053c8f
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
cmp rcx, qword [0x14018a040]
je 0x140053c68
call fcn.1400b6ad0
int3
mov eax, r14d
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ecx, ecx
jmp 0x140053c42
lea rcx, [rsp + 0x20]
call qword [0x14017da28]
jmp 0x140053bef
mov rax, qword [rax]
mov rcx, qword [rsp + 0x30]
call qword [0x14017da28]
jmp 0x140053c51

Function at 0x140053cf0
Capabilities:
Hash data using sha256

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rax, qword [rcx]
cmp rax, rdx
je 0x140053d28
mov rdi, rdx
mov ecx, dword [rdx + 0x2c]
call fcn.14009bea0
test rax, rax
je 0x140053d7c
mov rbx, rax
mov rcx, qword [rsi + 8]
call fcn.14009bf00
mov qword [rsi + 8], rbx
mov qword [rsi], rdi
mov rax, rdi
mov rax, qword [rax + 0x10]
lea rcx, [0x14012af00]
cmp rax, rcx
jne 0x140053d80
mov rax, qword [rsi + 8]
xorps xmm0, xmm0
movups xmmword [rax + 0x5c], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movaps xmm0, xmmword [0x1401742e0]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x1401742f0]
movups xmmword [rax + 0x10], xmm0
mov dword [rax + 0x6c], 0x20
mov eax, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
xor eax, eax
jmp 0x140053d74
mov rcx, rsi
call qword [0x14017da28]
jmp 0x140053d6f