joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41e020
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x00597351], 0
jne 0x41e10f
nop
nop
nop
nop
sub rbx, qword [rax + 0x18]
nop
mov edx, dword [rax + 0x5c]
imul rbx, rdx
mov rdx, rbx
shr rbx, 0x20
nop
shr rdx, 0x23
and ebx, 7
mov rsi, rcx
mov rcx, rbx
mov edi, 1
shl edi, cl
nop
add rdx, qword [rax + 0x50]
lock or byte [rdx], dil
nop
nop
mov rcx, qword [rax + 0x18]
nop
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x41e105
lea rbx, [0x005697b0]
mov rax, qword [rbx + rax*8]
shr rdx, 0x16
and edx, 0xfffff
mov rdx, qword [rax + rdx*8]
test byte [rdx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and ecx, 0x3f
movzx ebx, byte [rdx + rcx + 0x21040]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x21040]
shr rax, 0xd
and eax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
nop dword [rax]
test al, bl
jne 0x41e0e7
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1250], rsi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov ecx, 0x40
call fcn.0045e700
lea rax, [0x004b0172]
mov ebx, 0x2c
nop dword [rax + rax]
call fcn.00434a20
nop
int3

Function at 0x420860
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x420961
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 8], 0
jmp 0x4208a0
mov rax, qword [rsp + 0x50]
mov rcx, rdx
mov rbx, qword [rsp + 0x58]
nop
cmp qword [rsp + 8], rbx
jae 0x420951
test byte [rax], al
lea rcx, [rax + 0x100c0]
mov rax, rcx
call fcn.004213c0
nop dword [rax]
test rax, rax
je 0x420951
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
lea rcx, [0x004209a0]
mov qword [rsp + 0x10], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rbx, [rsp + 8]
mov qword [rsp + 0x38], rbx
lea rbx, [rsp + 0x10]
mov qword [rsp], rbx
call fcn.0045bec0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
jne 0x42093f
xor eax, eax
jmp 0x420949
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x60]
test al, al
je 0x420892
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
nop
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.0045c000
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00420860
Function at 0x442f60
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4430cf
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov ecx, dword [rax + 0x190]
mov edx, dword [rax + 0x194]
mov rsi, qword [rax + 0x998]
mov edi, dword [rax + 0x194]
cmp edi, edx
jne 0x442f78
cmp edx, ecx
jne 0x4430bd
nop dword [rax]
test rsi, rsi
jne 0x4430bd
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x442fd6
nop
call fcn.00460000
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rbx, qword [rsp]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x10], rbx
nop dword [rax + rax]
call fcn.00442e60
mov rcx, qword [0x00543558]
mov rdx, qword [0x00543550]
mov rbx, qword [rsp + 0x28]
mov esi, dword [rbx]
mov edi, esi
sar esi, 0x1f
shr esi, 0x1b
add esi, edi
sar esi, 5
mov r8d, esi
shl esi, 5
sub edi, esi
test edi, edi
jl 0x4430b8
cmp edi, 0x20
sbb esi, esi
mov rax, rcx
mov ecx, edi
mov r9d, 1
shl r9d, cl
and r9d, esi
movsxd rsi, r8d
cmp rax, rsi
jbe 0x4430ad
lea rcx, [rdx + rsi*4]
lock or dword [rcx], r9d
mov rcx, qword [0x00543ef0]
mov qword [rbx + 8], rcx
nop
mov rcx, rbx
mov qword [0x00543ef0], rbx
mov edx, 1
lea rsi, [0x00543ef8]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1228]
shr rdx, 0x3d
test dl, dl
jne 0x44309c
nop
nop
mov rax, qword [rsp + 0x10]
movabs rdx, 0x1fffffffffffffff
and rdx, rax
bts rdx, 0x3f
xchg qword [rcx + 0x1228], rdx
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
lea rax, [0x004af91c]
mov ebx, 0x28
call fcn.00434a20
mov rcx, rax
mov rax, rsi
call fcn.0045e6e0
call fcn.00432f40
lea rax, [0x004aee04]
mov ebx, 0x23
call fcn.00434a20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045c000
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00442f60
Function at 0x1400111f4
Capabilities:
Terminate process

Disassembly:
jmp 0x140013f90
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 0x14001126c
Capabilities:
Get system information on windows

Disassembly:
jmp 0x140012a90
push rbp
push rdi
sub rsp, 0x138
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x16
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [section..data]
xor rax, rbp
mov qword [rbp + 0x108], rax
lea rcx, [0x1400230f2]
call fcn.140011370
lea rax, [rbp + 8]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
lea rcx, [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [rbp + 0x28], 2
jae 0x140012af1
xor eax, eax
jmp 0x140012af7
jmp 0x140012af5
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x20]
lea rdx, [0x14001ad10]
call fcn.14001130c
mov rax, rdi
mov rcx, qword [rbp + 0x108]
xor rcx, rbp
call fcn.1400111b3
lea rsp, [rbp + 0x118]
pop rdi
pop rbp
ret

Function at 0x140011276
Capabilities:
Parse pe header

Disassembly:
jmp 0x1400152e0
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140015300
xor al, al
jmp 0x140015381
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140015313
xor al, al
jmp 0x140015381
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 0x14001533d
xor al, al
jmp 0x140015381
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140015351
xor al, al
jmp 0x140015381
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140015363
xor al, al
jmp 0x140015381
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x14001537f
xor al, al
jmp 0x140015381
mov al, 1
add rsp, 0x38
ret
Function at 0x1402af3d0
Capabilities:
Terminate process

Disassembly:
int 0x3d
dec byte [r8]
lahf
or al, 0x14
test dword [rsp + riz*2 + 0x1a], eax
add al, 0x11
push rsi
movsd dword [rdi], dword [rsi]
test eax, 0x51adb785
pop rdi
cmp ch, byte [rdi]
out 0x30, eax
xchg dword [rdx + rdi*2], esp
cli
insb byte [rdi], dx
fisttp dword [rbx + riz + 0x7a]
and al, 0x4e
and byte [rdi], ah
push rax
mov dl, 0x11
cdq
pop rsi
ret 0x1e1f
cld
pop r11
jmp 0x1402af3dd
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x1402af3ed
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x1402af3d5
lea eax, [rcx + 1]
jmp 0x1402af3fb
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x1402af40e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x1402af3f4
sub eax, 3
jb 0x1402af42e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x1402af47d
sar eax, 1
movsxd rbp, eax
jb 0x1402af464
jmp 0x1402af43c
add ebx, ebx
jne 0x1402af43a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x1402af464
inc ecx
add ebx, ebx
jne 0x1402af44a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x1402af464
call r11
adc ecx, ecx
add ebx, ebx
jne 0x1402af45d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x1402af44c
add ecx, 2
jmp 0x1402af469
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.1402af392
jmp 0x1402af3dd
pop rsi
pop rdi
pop rax
mov dword [rdi], eax
sub rsp, 0x28
lea rdi, [rsi + 0x2a7000]
mov eax, dword [rdi]
or eax, eax
je 0x1402af4e9
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x2b7c74]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x1402af48d
jns 0x1402af4c2
movzx rdx, word [rdi]
add rdi, 2
jmp 0x1402af4cc
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x1402af4e3
mov qword [rbx], rax
add rbx, 8
jmp 0x1402af4ad
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x1402af52d
cmp al, 0xef
ja 0x1402af515
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x1402af4f5
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
or eax, eax
jne 0x1402af504
mov eax, dword [rdi]
add rdi, 4
jmp 0x1402af504
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x247]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x1402af581
sub rsp, 0xffffffffffffff80
jmp 0x1401d3318
Function at 0x14000b510
Capabilities:
Encrypt data using dpapi

Disassembly:
push rbp
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xa8], 0xfffffffffffffffe
mov qword [rbp - 0x38], rdx
mov rax, rcx
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
call fcn.1400043a0
mov qword [rbp - 0x20], rax
jmp 0x14000b549
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x20]
mov dword [rbp - 0x44], eax
call fcn.14001bf00
mov qword [rbp - 0x40], rax
jmp 0x14000b55f
mov rax, qword [rbp - 0x40]
mov ecx, dword [rbp - 0x44]
mov dword [rbp - 0x18], ecx
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x60], 0
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x58]
mov dword [rbp - 8], 0
mov qword [rbp], rax
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x40], 0
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x38], rax
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 8], 0
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x20], 0
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x18], rax
mov r8, qword [rbp + 0x18]
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0xa0], 0
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x98], rax
mov r9, qword [rbp + 0x98]
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x80], 0
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x78], rax
mov rcx, qword [rbp + 0x78]
mov rax, rsp
lea r10, [rbp - 8]
mov qword [rax + 0x30], r10
mov qword [rax + 0x20], rcx
mov dword [rax + 0x28], 0
lea rcx, [rbp - 0x18]
call sub.CRYPT32.dll_CryptUnprotectData
jmp 0x14000b665
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp]
mov eax, dword [rbp - 8]
mov r9d, eax
mov r8, r9
call fcn.1400040f0
jmp 0x14000b67d
mov rcx, qword [rbp - 0x38]
call fcn.140023e30
mov rax, qword [rbp - 0x28]
add rsp, 0x130
pop rbp
ret
Function at 0x140031250
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xa8], 0xfffffffffffffffe
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], r8
lea rcx, [rbp - 0x40]
mov r9d, 0xffffffff
lea rax, str.C:UsersBumiMandias.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rand_0.4.6_srcos.rs
mov qword [rsp + 0x20], rax
call fcn.14002d1b0
lea rcx, [rbp - 0x58]
lea rdx, [rbp - 0x40]
call fcn.140030ca0
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x28]
call fcn.140030fa0
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rdx
mov rax, qword [rbp - 0x10]
cmp rax, 0
sete al
test al, 1
jne 0x1400312d9
jmp 0x1400312e2
add rsp, 0x130
pop rbp
ret
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xa0], rax
mov edx, eax
call sub.ADVAPI32.dll_SystemFunction036
mov byte [rbp + 0x77], al
cmp al, 0
jne 0x1400312b7
call fcn.14002dfe0
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x88], rcx
lea rax, [fcn.14006bb00]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x80], rax
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
mov rax, rsp
mov qword [rax + 0x20], 1
lea rdx, str.couldnt_generate_random_bytes:__
mov rcx, rbp
mov r8d, 1
lea r9, [rbp + 0x30]
call fcn.14002e430
jmp 0x140031374
lea rdx, str.C:UsersBumiMandias.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rand_0.4.6_srcos.rs
mov rcx, rbp
call fcn.14016efc0
jmp 0x140031385
ud2

Function at 0x140056270
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, rcx
movdqa xmm0, xmmword [rdx]
aeskeygenassist xmm0, xmm0, 2
movdqa xmmword [rcx], xmm0
ret
Function at 0x140069f30
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x498
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x410], 0xfffffffffffffffe
mov qword [rbp + 0x3f0], rcx
mov qword [rbp + 0x3f8], 0
mov qword [rbp + 0x400], 2
mov qword [rbp + 0x408], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3e8], rax
xor esi, esi
xor edi, edi
xor ebx, ebx
cmp r8, 0x201
jae 0x140069fd0
jmp 0x140069fbf
jae 0x14006a08f
cmp r8, 0x201
jae 0x140069fd0
mov r14d, 0x200
lea r15, [rbp - 0x60]
mov r12, r8
jmp 0x14006a027
sub r8, rbx
sub rdi, rbx
cmp rdi, r8
jae 0x140069fff
lea rcx, [rbp + 0x3f8]
mov rdx, rbx
call fcn.14016e190
mov rsi, qword [rbp + 0x3f8]
mov rax, qword [rbp + 0x400]
mov qword [rbp + 0x3e8], rax
mov eax, 0xffffffff
cmp rsi, rax
mov ebx, 0xffffffff
cmovb rbx, rsi
mov qword [rbp + 0x408], rbx
mov rdi, rsi
mov r14, rbx
mov r15, qword [rbp + 0x3e8]
mov r12, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, r12d
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r13d, eax
test eax, eax
jne 0x14006a050
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14006a109
mov r8d, r13d
cmp r12, r8
jne 0x140069fb0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14006a13d
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
cmp r8, 0x201
jb 0x140069fbf
jmp 0x140069fd0
cmp r14, r8
jb 0x14006a157
lea rcx, [rbp + 0x3c8]
mov rdx, r15
call fcn.14006daf0
movups xmm0, xmmword [rbp + 0x3c8]
movups xmm1, xmmword [rbp + 0x3d8]
movaps xmmword [rbp + 0x3b0], xmm1
movaps xmmword [rbp + 0x3a0], xmm0
mov rsi, qword [rbp + 0x3f0]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdx, qword [rbp + 0x3f8]
test rdx, rdx
je 0x14006a0f2
mov rcx, qword [rbp + 0x400]
add rdx, rdx
mov r8d, 2
call fcn.140002350
mov rax, rsi
add rsp, 0x498
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov rsi, qword [rbp + 0x3f0]
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rdx, qword [rbp + 0x3f8]
test rdx, rdx
jne 0x14006a0dd
jmp 0x14006a0f2
lea rcx, str.internal_error:_entered_unreachable_code_rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6library_alloc_src_vecmod.rs
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.14016f090
jmp 0x14006a16c
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.14016f570
ud2
Function at 0x14006af30
Capabilities:
Create directory

Disassembly:
cmp byte [rcx], 0
je 0x14006af40
mov rcx, rdx
mov rdx, r8
jmp fcn.14006af50
mov rcx, rdx
mov rdx, r8
jmp fcn.140073fc0

Function at 0x140073fc0
Capabilities:
Create directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov r8, rdx
mov rdx, rcx
lea rcx, [rsp + 0x28]
call fcn.140076790
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
movabs rbx, 0x8000000000000000
cmp rax, rbx
je 0x140074025
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call fcn.140077350
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, rbx
jne 0x140074030
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rcx, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14007405c
test rdi, rdi
je 0x140074088
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call fcn.140002350
xor eax, eax
jmp 0x140074028
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x140074028
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call fcn.140002350
jmp 0x140074025
xor eax, eax
jmp 0x140074028
Function at 0x140074b20
Capabilities:
Copy file

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
sub esp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], 0xfffffffffffffffe
mov rsi, r9
mov rdi, r8
mov r8, rdx
mov rdx, rcx
lea rcx, [rbp - 0x38]
call fcn.140076790
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
push rbp
ror byte [rax - 0x45], 1
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
invalid
cmp rax, rbx
je 0x140074b96
mov rcx, qword [rbp - 0x28]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], rcx
lea rcx, [rbp - 0x50]
lea rdx, [rbp - 0x20]
mov r8b, 1
call fcn.140077350
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
cmp rax, rbx
jne case.0x14006ed14.167
mov eax, 1
mov qword [rbp], rax

Function at 0x140075080
Capabilities:
Read file on windows

Disassembly:
push rsi
sub rsp, 0xb0
mov rsi, rcx
movups xmm0, xmmword [0x140186c28]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r8, rax
cmovb rax, r8
test r9, r9
je 0x1400750b8
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x88], rcx
test r9, r9
mov qword [rsp + 0x80], r9
lea rcx, [rsp + 0x88]
cmove rcx, r9
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtReadFile]
cmp eax, 0x103
jne 0x14007511a
mov rcx, rsi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0xc0000011
jne 0x140075125
xor edx, edx
jmp 0x140075135
cmp eax, 0x103
je 0x140075160
test eax, eax
js 0x140075140
mov rdx, qword [rsp + 0x68]
xor eax, eax
add rsp, 0xb0
pop rsi
ret
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0xb0
pop rsi
ret
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x5c], 0
lea rax, [0x140186c88]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x90], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x80]
call fcn.14006d540
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
call fcn.140068580
mov ecx, 7
int 0x29
ud2
Function at 0x1400751d0
Capabilities:
Write file on windows

Disassembly:
push rsi
sub rsp, 0xb0
mov rsi, rcx
movups xmm0, xmmword [0x140186c28]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r8, rax
cmovb rax, r8
test r9, r9
je 0x140075208
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x88], rcx
test r9, r9
mov qword [rsp + 0x80], r9
lea rcx, [rsp + 0x88]
cmove rcx, r9
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtWriteFile]
cmp eax, 0x103
jne 0x140075271
mov rcx, rsi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0x103
je 0x1400752a5
test eax, eax
js 0x140075285
mov rdx, qword [rsp + 0x68]
xor eax, eax
add rsp, 0xb0
pop rsi
ret
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0xb0
pop rsi
ret
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x5c], 0
lea rax, [0x140186c88]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x90], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x80]
call fcn.14006d540
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
call fcn.140068580
mov ecx, 7
int 0x29
ud2
Function at 0x140084250
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
test r8, r8
je 0x1400842ca
mov rax, rdx
mov rdx, qword [rsp + 0x70]
mov esi, ecx
shr esi, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov rbx, rax
movzx edi, byte [rax + 1]
add rax, 2
lea r10, [r11 + rdi]
cmp byte [rbx], sil
jne 0x1400842c0
cmp r11, r10
ja 0x140084355
cmp r10, rdx
ja 0x140084367
add r11, r9
xor ebx, ebx
nop dword [rax]
cmp rdi, rbx
je 0x1400842c2
lea r14, [rbx + 1]
cmp byte [r11 + rbx], cl
mov rbx, r14
jne 0x1400842a0
jmp 0x140084337
ja 0x1400842ca
mov r11, r10
cmp rax, r8
jne 0x140084272
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14008433b
mov r8, qword [rsp + 0x78]
add rdx, r8
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r10, [r8 + 1]
movzx r9d, byte [r8]
test r9b, r9b
js 0x140084310
mov r8, r10
sub ecx, r9d
jns 0x14008432e
jmp 0x14008433d
cmp r10, rdx
je 0x140084349
movzx r10d, byte [r8 + 1]
add r8, 2
and r9d, 0x7f
shl r9d, 8
or r9d, r10d
sub ecx, r9d
js 0x14008433d
xor al, 1
cmp r8, rdx
jne 0x1400842f0
jmp 0x14008433d
xor eax, eax
jmp 0x14008433d
mov al, 1
and al, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rcx, str.librarycore_srcunicodeprintable.rs
call fcn.14016ef80
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call fcn.14016f580
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call fcn.14016f570
int3
Function at 0x1400df5f0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [rsp + 0x50]
mov qword [rax], 0
mov ecx, 0x28
call fcn.1400a3e40
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x1400df630
mov eax, 7
jmp 0x1400df705
movzx eax, byte [0x1401a1db4]
test eax, eax
je 0x1400df649
mov ecx, 0xc8
call fcn.1400b1720
test eax, eax
je 0x1400df65d
mov r8d, 0x28
xor edx, edx
mov rcx, qword [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
jmp 0x1400df6ca
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x30]
add rax, 8
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r9, qword [rsp + 0x30]
lea r8, [0x1400f4040]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
jne 0x1400df6ca
mov r8d, 0x28
xor edx, edx
mov rcx, qword [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x10], 0
jne 0x1400df6f6
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x60]
call qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0x20], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
xor eax, eax
add rsp, 0x48
ret