joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14002f920
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [0x140075028]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x80]
add rax, 8
mov rcx, rax
call fcn.14001e320
nop
lea rcx, str.powrprof.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rcx, qword [rsp + 0x80]
mov qword [rcx], rax
cmp qword [0x14007b7f0], 0
jne 0x14002f98e
lea rdx, str.CallNtPowerInformation
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007b7f0], rax
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x120], 0
mov rax, qword [rsp + 0x80]
mov qword [rax + 0x118], 0
mov rax, qword [rsp + 0x80]
mov qword [rax + 0x110], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x108], 0
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x50]
mov dword [rax + 0x10c], ecx
mov dword [rsp + 0x20], 0
jmp 0x14002fa06
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x10c]
cmp dword [rsp + 0x20], eax
jae 0x14002fa66
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x20]
movzx ecx, al
mov rax, qword [rsp + 0x28]
shr rax, cl
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
and rax, 1
test rax, rax
je 0x14002fa64
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x108]
inc eax
mov rcx, qword [rsp + 0x80]
mov dword [rcx + 0x108], eax
jmp 0x14002f9fc
xor edx, edx
mov rcx, qword [rsp + 0x80]
call fcn.14002fad0
nop
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14003f5f0
add rsp, 0x78
ret

Function at 0x140031aa0
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x10]
mov dword [rcx + rax + 0x10], 0
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x10]
mov dword [rcx + rax + 0x10], 0
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x10]
mov dword [rcx + rax], 0x67452301
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x10]
mov dword [rcx + rax], 0xefcdab89
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x10]
mov dword [rcx + rax], 0x98badcfe
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x10]
mov dword [rcx + rax], 0x10325476
ret
Function at 0x180002370
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov r14, rcx
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180002417
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180002417
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xabde6c0e
lea rcx, [rbx + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x180002412
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1800023f0
cmp r8d, 0x2f5ac328
je 0x18000241c
test r9d, r9d
jne 0x1800023d0
mov rax, qword [rax]
jmp 0x1800023a0
mov eax, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x1c]
add rax, r10
add rcx, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
mov rcx, r14
add rdx, r10
call rdx
mov rcx, 0xffffffffffffffff
lea rbp, [rax + 1]
mov eax, 2
mul rbp
cmovo rax, rcx
mov rcx, rax
call fcn.180010390
mov rcx, qword gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov r11d, dword [rdx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x1800024e7
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1800024e7
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
mov r8d, 0x22d91735
lea rax, [rdi + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800024e2
nop
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x1800024c0
cmp r8d, 0x2ea236b5
je 0x1800024ec
test r9d, r9d
jne 0x1800024a0
mov rcx, qword [rcx]
jmp 0x180002470
mov ecx, dword [r11 + 0x24]
mov r8, rbp
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rdx, r14
add rax, r10
mov rcx, rsi
call rax
mov rbx, qword [rsp + 0x30]
mov rax, rsi
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x180002530
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rsi, rcx
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov ebx, dword [rdx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1800025d7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1800025d7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xfc6af8c4
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800025d2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800025b0
cmp r8d, 0x1e836cb8
je 0x1800025dc
test r9d, r9d
jne 0x180002590
mov rax, qword [rax]
jmp 0x180002560
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rcx, [rsp + 0x30]
add rax, r10
call rax
movd xmm0, dword [rsp + 0x30]
mov rax, rsi
movd xmm2, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x38]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
cvtps2pd xmm1, xmm0
cvtps2pd xmm0, xmm2
movsd qword [rsi], xmm1
movsd qword [rsi + 8], xmm0
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1400019a4
Capabilities:
Check if file exists
Get file attributes
Query environment variable

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1400a12e0]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r15, rdx
mov rdi, rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
mov qword [rbp - 0x19], r12
mov qword [rbp - 0x11], 7
mov word [rbp - 0x29], r12w
movdqa xmm0, xmmword [0x140092aa0]
movdqu xmmword [rbp + 7], xmm0
mov word [rbp - 9], r12w
lea rcx, [rbp - 9]
call fcn.140004c88
nop
lea r14d, [r12 + 1]
mov dword [rsp + 0x30], r14d
lea rcx, [rbp - 9]
cmp qword [rbp + 0xf], 8
cmovae rcx, qword [rbp - 9]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
mov r13d, 0xffffffff
cmp eax, r13d
jne 0x140001b7a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 2
jne 0x140001bc0
mov eax, dword [rbp - 0x19]
inc eax
mov ebx, r13d
cmp qword [rbp - 0x19], r13
cmovb ebx, eax
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rdx, qword [rbp - 0x29]
mov r8d, ebx
lea rcx, str.INCLUDE
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
nop dword [rax + rax]
mov esi, eax
lea rcx, [rbp - 0x29]
cmp eax, ebx
jb 0x140001aa2
lea edx, [rsi - 1]
call fcn.140004910
jmp 0x140001a5b
mov rdx, rsi
call fcn.140004910
test esi, esi
je 0x140001ab1
mov r14b, r12b
lea rcx, [rbp - 9]
call fcn.140006700
test r14b, r14b
jne 0x140001b83
mov rbx, qword [rdi + 0x18]
mov eax, 0x8000
cmp rbx, rax
cmova ebx, eax
mov edx, ebx
mov rcx, rdi
call fcn.140004910
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x140001ae9
mov rax, qword [rdi]
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rcx, qword [rbp - 0x29]
lea r9d, [rbx + 1]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_SearchPathW]
nop dword [rax + rax]
mov esi, eax
cmp eax, ebx
jbe 0x140001b66
lea ebx, [rax - 1]
mov edx, ebx
mov rcx, rdi
call fcn.140004910
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x140001b37
mov rax, qword [rdi]
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rcx, qword [rbp - 0x29]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
mov r9d, esi
xor r8d, r8d
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_SearchPathW]
nop dword [rax + rax]
mov esi, eax
test esi, esi
je 0x140001b83
cmp esi, ebx
ja 0x140001b83
mov edx, esi
mov rcx, rdi
call fcn.140004910
jmp 0x140001b8f
test al, 0x10
jne 0x140001bde
jmp 0x140001ab1
mov rdx, r15
mov rcx, rdi
call fcn.140004c88
nop
lea rcx, [rbp - 0x29]
call fcn.140006700
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140050950
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1400017f8
lea rdx, [0x14009ee38]
lea rcx, [rsp + 0x40]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
mov edx, 0x57
lea rcx, [rbp - 0x61]
call fcn.1400017f8
lea rdx, [0x14009ee38]
lea rcx, [rbp - 0x61]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
Function at 0x140013bd4
Capabilities:
Hash data via bcrypt

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, 0x20
and dword [rcx + 0x10], 0
lea rax, [0x140078708]
mov qword [rcx + 8], rax
mov rbx, r8
xor eax, eax
mov rsi, rdx
mov rdi, rcx
test r8, r8
je 0x140013c44
mov r14d, 0x80000000
mov rcx, qword [rdi]
cmp rbx, r14
mov ebp, ebx
mov rdx, rsi
cmova ebp, r14d
xor r9d, r9d
mov r8d, ebp
call qword [sym.imp.bcrypt.dll_BCryptHashData]
nop dword [rax + rax]
mov dword [rdi + 0x10], eax
test eax, eax
js 0x140013c44
mov ecx, ebp
add rsi, rcx
sub rbx, rcx
jne 0x140013c12
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
shr eax, 0x1f
xor al, 1
add rsp, 0x20
pop r14
ret

Function at 0x14001d570
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x14001d5a2
test al, 0x20
je 0x14001d5a2
and eax, 0xffffffdf
mov rcx, rbx
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
nop dword [rax + rax]
add rsp, 0x20
pop rbx
ret
Function at 0x14001d5b0
Capabilities:
Delete file

Disassembly:
push rbx
sub rsp, 0x20
mov bl, cl
mov rcx, qword [0x1400b6780]
test rcx, rcx
je 0x14001d636
cmp byte [0x1400b6788], 0
je 0x14001d5e9
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_fclose]
nop dword [rax + rax]
test eax, eax
je 0x14001d5e9
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
nop dword [rax + rax]
and qword [0x1400b6780], 0
lea rcx, [0x1400a1470]
mov byte [0x1400b6788], 0
test bl, bl
jne 0x14001d621
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rcx, qword [0x1400a1470]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
jmp 0x14001d636
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rcx, qword [0x1400a1470]
call fcn.14001d570
mov rcx, qword [0x1400b6760]
test rcx, rcx
je 0x14001d6b4
cmp byte [0x1400b6768], 0
je 0x14001d667
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_fclose]
nop dword [rax + rax]
test eax, eax
je 0x14001d667
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
nop dword [rax + rax]
and qword [0x1400b6760], 0
lea rcx, [0x1400a13b0]
mov byte [0x1400b6768], 0
test bl, bl
jne 0x14001d69f
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rcx, qword [0x1400a13b0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
jmp 0x14001d6b4
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rcx, qword [0x1400a13b0]
call fcn.14001d570
mov rcx, qword [0x1400b6770]
test rcx, rcx
je 0x14001d735
cmp byte [0x1400b6778], 0
je 0x14001d6e5
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_fclose]
nop dword [rax + rax]
test eax, eax
je 0x14001d6e5
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
nop dword [rax + rax]
and qword [0x1400b6770], 0
lea rcx, [0x1400a1430]
mov byte [0x1400b6778], 0
test bl, bl
jne 0x14001d720
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rcx, qword [0x1400a1430]
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rcx, qword [0x1400a1430]
call fcn.14001d570
add rsp, 0x20
pop rbx
ret
Function at 0x140026dd0
Capabilities:
Check if file exists
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp dword [rcx + 0x64], 0
mov rbx, rcx
jbe 0x140026de8
call fcn.140026d7c
mov eax, dword [rbx + 0x30]
xor edx, edx
mov rcx, rbx
mov dword [rbx + 0x5c], eax
call fcn.14002c30c
lea rdx, [rbx + 0x58]
mov r8d, 0x10
mov rcx, rbx
call fcn.14002c298
mov rcx, qword [rbx + 0x10]
mov edi, dword [rbx + 0x5c]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
and qword [rbx + 8], 0
lea rax, [rcx + 1]
cmp rax, 1
jbe 0x140026e3c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rbx]
lea edx, [rdi + 2]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
nop dword [rax + rax]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
nop dword [rax + rax]
mov rcx, qword [rbx]
and qword [rbx], 0
lea rax, [rcx + 1]
cmp rax, 1
jbe 0x140026e80
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.14001d570
Function at 0x14002d48c
Capabilities:
Get file size
Read file via mapping

Disassembly:
push rbx
sub rsp, 0x40
and qword [rsp + 0x30], 0
mov rax, rdx
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
mov rbx, rcx
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
mov rcx, rax
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
nop dword [rax + rax]
mov qword [rbx + 0x30], rax
cmp rax, 0xffffffffffffffff
jne case.default.0x14002d4d8
add rsp, 0x40
pop rbx
jmp qword [sym.imp.KERNEL32.dll_GetLastError]
and qword [rsp + 0x28], 0
xor r9d, r9d
and dword [rsp + 0x20], 0
xor edx, edx
mov rcx, rax
lea r8d, [r9 + 2]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
nop dword [rax + rax]
mov qword [rbx + 0x38], rax
test rax, rax
je 0x14002d4d3
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
nop dword [rax + rax]
mov qword [rbx], rax
test rax, rax
je 0x14002d4d3
mov rcx, qword [rbx + 0x30]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
nop dword [rax + rax]
mov dword [rbx + 0x18], eax
cmp eax, 0xffffffff
je 0x14002d4d3
xor eax, eax
add rsp, 0x40
pop rbx
ret
div byte [rcx]
clc
invalid
invalid
invalid
invalid
push rbx
invalid
sub al, byte [rcx - 0x15]
sbb cl, bl
sub edi, edi
mov ch, 0xff
mov ah, 0xc2
outsb dx, byte [rsi]
loope 0x1400f69e0
invalid
add eax, 0x7e26d49c
invalid
mov bl, byte [rsi]
xor esi, dword [rax]
fsub dword [r14 + 0x5d6d41f3]
and al, 0x8d
int3
int3
int3
out dx, eax
or al, 0xe9
std
out dx, eax
pop rsp
invalid
push rcx
push 4
push rsp
adc ebp, dword [rax + rbp + 0x1f1c065d]
invalid
invalid
mov edx, 0xeffd87cf
mul byte [rax + 0x68]
cmp byte [r11], 0xec
in al, dx
invalid
int 0x58
push rcx
ret
div esi
call [rsp + rdx + 0x3f]
in al, 0x38
invalid
adc eax, 0x3f4cfdaf
jmp [rsi + 0x57]
jl 0x1400f6b55
insd dword [rdi], dx
jns 0x1400f6b86
adc dword [rax - 0x3c8e78cc], esi
call 0x127458ade
int1
xlatb
invalid
invalid
movabs rdx, 0xcdccff4fd538bcfc
shr byte [rdi], cl
cmp dword [rsp + rdi*2 - 0x244684ce], 0xffffffc9
cmp al, 0xf6
xchg ecx, eax
invalid
pop rsp
jbe 0x1400f6beb
invalid
inc byte [rax]
nop
mov dh, 0x9a
pop rdx
invalid
mov bl, 0x5b
mov al, 0x15
call 0x1ba4e5b49
cmp dword [rax + rax - 0x76], ebx
shr esi, 0x73
int3
stc
fdiv qword [rbx + 0x7d8a22c9]
mov ebp, 0x264150bb
mov esp, 0xff1168ff
in al, dx
invalid
Function at 0x14002d560
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, r9
mov rsi, r8
mov rdi, rcx
call fcn.14002e1f0
mov qword [rdi + 0x28], rax
test rax, rax
jne 0x14002d597
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14002d621
xor r9d, r9d
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
jne 0x14002d5d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, rdi
mov ebx, eax
call fcn.14002d638
mov eax, ebx
jmp 0x14002d621
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
nop dword [rax + rax]
mov qword [rdi + 0x20], rax
test rax, rax
je 0x14002d5b7
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
nop dword [rax + rax]
mov dword [rdi + 0x18], eax
test eax, eax
je 0x14002d5b7
mov rcx, qword [rdi + 0x20]
call qword [sym.imp.KERNEL32.dll_LockResource]
nop dword [rax + rax]
mov qword [rdi], rax
test rax, rax
je 0x14002d5b7
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x14002e728
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
mov qword [rsp + 8], rbx
xor r8d, r8d
mov r11, rdx
shr r11, 3
mov r10d, r8d
movabs rbx, 0x4cf5ad432745937f
lea r9, [rcx + r11*8]
neg r11
movabs rcx, 0x87c37b91114253d5
je 0x14002e77f
mov rax, qword [r9 + r11*8]
imul rax, rcx
rol rax, 0x1f
imul rax, rbx
xor rax, r10
rol rax, 0x1b
lea r10, [rax*4 + 0x52dce729]
add r10, rax
add r11, 1
jne 0x14002e757
mov rax, rdx
and eax, 7
sub rax, 1
je 0x14002e7ea
sub rax, 1
je 0x14002e7de
sub rax, 1
je 0x14002e7d5
sub rax, 1
je 0x14002e7d0
sub rax, 1
je 0x14002e7c4
sub rax, 1
je 0x14002e7b8
cmp rax, 1
jne 0x14002e800
movzx r8d, byte [r9 + 6]
shl r8, 0x30
movzx eax, byte [r9 + 5]
shl rax, 0x28
or r8, rax
movzx eax, byte [r9 + 4]
shl rax, 0x20
or r8, rax
mov eax, dword [r9]
jmp 0x14002e7ee
movzx r8d, byte [r9 + 2]
shl r8, 0x10
movzx eax, byte [r9 + 1]
shl rax, 8
or r8, rax
movzx eax, byte [r9]
or rax, r8
imul rax, rcx
rol rax, 0x1f
imul rax, rbx
xor r10, rax
mov rbx, qword [rsp + 8]
xor r10, rdx
movabs rcx, 0xff51afd7ed558ccd
mov rax, r10
shr rax, 0x21
xor rax, r10
imul rax, rcx
mov rcx, rax
shr rcx, 0x21
xor rcx, rax
movabs rax, 0xc4ceb9fe1a85ec53
imul rcx, rax
mov rax, rcx
shr rax, 0x21
xor rax, rcx
ret
Function at 0x14003087c
Capabilities:
Hash data via bcrypt

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x1400a12e0]
xor rax, rsp
mov qword [rbp + 0xb0], rax
and qword [rsp + 0x50], 0
mov rdi, r8
and qword [rsp + 0x40], 0
lea r8, str.Microsoft_Primitive_Provider
mov r15d, edx
mov r14, rcx
lea rdx, str.SHA256
xor r9d, r9d
lea rcx, [rsp + 0x50]
xor esi, esi
call qword [sym.imp.bcrypt.dll_BCryptOpenAlgorithmProvider]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
js 0x140030a47
and dword [rsp + 0x30], esi
lea r8, [rbp - 0x80]
and dword [rsp + 0x28], esi
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov r9d, 0x12c
and qword [rsp + 0x20], rsi
call qword [sym.imp.bcrypt.dll_BCryptCreateHash]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 0xc0000023
jne 0x1400309c8
and dword [rsp + 0x28], esi
lea rax, [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea r9d, [rsi + 4]
and dword [rsp + 0x58], esi
lea r8, [rsp + 0x48]
lea rdx, str.ObjectLength
mov qword [rsp + 0x20], rax
call qword [sym.imp.bcrypt.dll_BCryptGetProperty]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
js 0x140030a47
mov ebx, dword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
jne 0x140030998
mov ebx, 0xc0000017
jmp 0x140030a47
and dword [rsp + 0x30], 0
lea rdx, [rsp + 0x40]
and dword [rsp + 0x28], 0
mov r8, rax
and qword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.bcrypt.dll_BCryptCreateHash]
nop dword [rax + rax]
mov ebx, eax
test ebx, ebx
js 0x140030a47
mov rcx, qword [rsp + 0x40]
lea rdx, str.MS_WEVT
xor r9d, r9d
lea r8d, [r9 + 8]
call qword [sym.imp.bcrypt.dll_BCryptHashData]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
js 0x140030a47
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov r8d, r15d
mov rdx, r14
call qword [sym.imp.bcrypt.dll_BCryptHashData]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
js 0x140030a47
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x60]
xor r9d, r9d
lea r8d, [r9 + 0x20]
call qword [sym.imp.bcrypt.dll_BCryptFinishHash]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
js 0x140030a47
movups xmm0, xmmword [rsp + 0x60]
movdqu xmmword [rdi], xmm0
and byte [rdi + 7], 0xf
or byte [rdi + 7], 0x50
xor ebx, ebx
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140030a5d
call qword [sym.imp.bcrypt.dll_BCryptDestroyHash]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140030a75
xor edx, edx
call qword [sym.imp.bcrypt.dll_BCryptCloseAlgorithmProvider]
nop dword [rax + rax]
test rsi, rsi
je 0x140030a9a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.140050950
mov rbx, qword [rsp + 0x208]
add rsp, 0x1c0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x140030e50
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
xor ebx, ebx
mov rdi, rcx
cmp qword [rcx], rbx
je 0x140030e73
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x140030e88
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rax, qword [rdi + 0x10]
lea r8, [rsp + 0x34]
sub rax, qword [rdi]
xor r9d, r9d
mov rcx, qword [rdi + 0x28]
add rax, 2
mov edx, eax
mov qword [rsp + 0x30], rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x140030ee0
mov rcx, qword [rcx]
jmp 0x140030ee3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x140030f18
test al, 0x20
je 0x140030f18
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x140030f04
mov rbx, qword [rcx]
and eax, 0xffffffdf
mov rcx, rbx
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
nop dword [rax + rax]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret