joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140002250
Capabilities:
Enumerate pe sections

Disassembly:
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
movzx eax, word [rcx + 0x14]
movzx r8d, word [rcx + 6]
lea rax, [rcx + rax + 0x18]
test r8w, r8w
je 0x14000229d
lea ecx, [r8 - 1]
lea rcx, [rcx + rcx*4]
lea r9, [rax + rcx*8 + 0x28]
nop dword [rax + rax]
mov r8d, dword [rax + 0xc]
mov rcx, r8
cmp rdx, r8
jb 0x140002294
add ecx, dword [rax + 8]
cmp rdx, rcx
jb 0x14000229f
add rax, 0x28
cmp rax, r9
jne 0x140002280
xor eax, eax
ret

Function at 0x1400022a0
Capabilities:
Parse pe header

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, rcx
call sym.strlen
cmp rax, 8
ja 0x140002330
mov rdx, qword [0x14000b740]
xor ebx, ebx
cmp word [rdx], 0x5a4d
jne 0x14000231e
movsxd rax, dword [rdx + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
jne 0x14000231e
cmp word [rax + 0x18], 0x20b
jne 0x14000231e
movzx edx, word [rax + 0x14]
lea rbx, [rax + rdx + 0x18]
movzx edx, word [rax + 6]
test dx, dx
je 0x140002330
lea eax, [rdx - 1]
lea rax, [rax + rax*4]
lea rdi, [rbx + rax*8 + 0x28]
jmp 0x140002309
add rbx, 0x28
cmp rbx, rdi
je 0x140002330
mov r8d, 8
mov rdx, rsi
mov rcx, rbx
call sym.strncmp
test eax, eax
jne 0x140002300
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
xor ebx, ebx
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x140002340
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x14000b740]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x140002360
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x140002368
ret
cmp word [r8 + 0x18], 0x20b
jne 0x140002360
movzx eax, word [r8 + 0x14]
sub rcx, rdx
lea rax, [r8 + rax + 0x18]
movzx r8d, word [r8 + 6]
test r8w, r8w
je 0x1400023bd
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x1400023b4
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x140002360
add rax, 0x28
cmp rax, r9
jne 0x1400023a0
xor eax, eax
ret

Function at 0x1400023c0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x14000b740]
xor ecx, ecx
cmp word [rax], 0x5a4d
jne 0x1400023df
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x1400023e8
mov eax, ecx
ret
cmp word [rax + 0x18], 0x20b
jne 0x1400023df
movzx ecx, word [rax + 6]
mov eax, ecx
ret

Function at 0x140002400
Capabilities:
Parse pe header

Disassembly:
mov r8, qword [0x14000b740]
xor eax, eax
cmp word [r8], 0x5a4d
jne 0x140002420
movsxd rdx, dword [r8 + 0x3c]
add rdx, r8
cmp dword [rdx], 0x4550
je 0x140002428
ret
cmp word [rdx + 0x18], 0x20b
jne 0x140002420
movzx eax, word [rdx + 0x14]
movzx r8d, word [rdx + 6]
lea rax, [rdx + rax + 0x18]
test r8w, r8w
je 0x140002470
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea rdx, [rax + rdx*8 + 0x28]
nop dword [rax]
test byte [rax + 0x27], 0x20
je 0x140002467
test rcx, rcx
je 0x140002420
sub rcx, 1
add rax, 0x28
cmp rax, rdx
jne 0x140002458
xor eax, eax
ret
Function at 0x140002480
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x14000b740]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x14000249f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x1400024a8
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret

Function at 0x1400024c0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x14000b740]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x1400024e0
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x1400024e8
ret
cmp word [r8 + 0x18], 0x20b
jne 0x1400024e0
sub rcx, rdx
movzx r9d, word [r8 + 6]
movzx edx, word [r8 + 0x14]
lea rdx, [r8 + rdx + 0x18]
test r9w, r9w
je 0x1400024e0
lea eax, [r9 - 1]
lea rax, [rax + rax*4]
lea r9, [rdx + rax*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rdx + 0xc]
mov rax, r8
cmp rcx, r8
jb 0x140002534
add eax, dword [rdx + 8]
cmp rcx, rax
jb 0x140002540
add rdx, 0x28
cmp r9, rdx
jne 0x140002520
xor eax, eax
ret
mov eax, dword [rdx + 0x24]
not eax
shr eax, 0x1f
ret

Function at 0x140002550
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov r11, qword [0x14000b740]
xor r9d, r9d
cmp word [r11], 0x5a4d
jne 0x140002572
movsxd r8, dword [r11 + 0x3c]
add r8, r11
cmp dword [r8], 0x4550
je 0x140002580
mov rax, r9
ret
cmp word [r8 + 0x18], 0x20b
jne 0x140002572
mov eax, dword [r8 + 0x90]
test eax, eax
je 0x140002572
movzx edx, word [r8 + 0x14]
movzx r10d, word [r8 + 6]
lea rdx, [r8 + rdx + 0x18]
test r10w, r10w
je 0x140002572
lea r8d, [r10 - 1]
lea r8, [r8 + r8*4]
lea r10, [rdx + r8*8 + 0x28]
nop word cs:[rax + rax]
mov r9d, dword [rdx + 0xc]
mov r8, r9
cmp rax, r9
jb 0x1400025d5
add r8d, dword [rdx + 8]
cmp rax, r8
jb 0x1400025e8
add rdx, 0x28
cmp rdx, r10
jne 0x1400025c0
xor r9d, r9d
mov rax, r9
ret
add rax, r11
jmp 0x1400025f7
sub ecx, 1
add rax, 0x14
mov r8d, dword [rax + 4]
test r8d, r8d
jne 0x140002607
mov edx, dword [rax + 0xc]
test edx, edx
je 0x1400025de
test ecx, ecx
jg 0x1400025f0
mov r9d, dword [rax + 0xc]
add r9, r11
mov rax, r9
ret
Function at 0x140001030
Capabilities:
Find process by pid

Disassembly:
push rbx
sub rsp, 0x20
cmp dword [rcx], 0x85b3e12
mov rbx, rcx
jne 0x140001087
movsxd rax, dword [rcx + 4]
test eax, eax
je 0x140001087
and qword [rsp + 0x30], 0
lea rdx, [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140001087
call sub.ntoskrnl.exe_PsGetProcessSectionBaseAddress
test rax, rax
je 0x140001087
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
xor eax, eax
jmp 0x14000108c
mov eax, 0xc0000001
add rsp, 0x20
pop rbx
ret

Function at 0x140001094
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
cmp dword [rcx], 0x85b3e12
mov rsi, rcx
je 0x1400010b8
mov eax, 0xc0000001
jmp 0x14000116d
xor ebx, ebx
lea r9, [rsp + 0x20]
xor r8d, r8d
mov dword [rsp + 0x20], ebx
lea rdx, [rsp + 0x20]
mov edi, ebx
lea ecx, [rbx + 0x42]
call sub.ntoskrnl.exe_ZwQuerySystemInformation
cmp eax, 0xc0000004
jne 0x14000116b
test rdi, rdi
je 0x1400010f0
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov edx, dword [rsp + 0x20]
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePool]
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x20]
mov rdx, rax
mov ecx, 0x42
mov rdi, rax
call sub.ntoskrnl.exe_ZwQuerySystemInformation
cmp eax, 0xc0000004
je 0x1400010e0
test rdi, rdi
je 0x14000116b
mov r8d, dword [rdi]
test r8d, r8d
je 0x140001160
lea rdx, [rdi + 0x18]
test byte [rdx - 8], 1
je 0x140001155
cmp qword [rdx], 0x200000
jne 0x140001155
mov ecx, dword [0x140001c70]
mov r9b, byte [0x140001c74]
cmp dword [rdx + 8], ecx
jne 0x140001155
cmp byte [rdx + 0xc], r9b
je 0x14000117d
inc ebx
add rdx, 0x20
cmp ebx, r8d
jb 0x14000112e
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
xor eax, eax
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rsi + 8]
mov rax, qword [rdx - 0x10]
mov qword [rcx], rax
jmp 0x14000116b
Function at 0x14000118c
Capabilities:
Find process by pid

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
push rdi
sub rsp, 0x30
cmp dword [rcx], 0x85b3e12
mov rdi, rcx
jne 0x140001251
movsxd rax, dword [rcx + 4]
test eax, eax
je 0x140001251
and qword [r11 + 8], 0
lea rdx, [r11 + 8]
mov rcx, rax
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140001251
call fcn.140001268
mov rcx, qword [rsp + 0x40]
mov rbx, rax
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov rdx, qword [rdi + 8]
mov rcx, rbx
mov rsi, qword [rdi + 0x18]
call fcn.140001544
test rax, rax
je 0x140001251
mov ecx, eax
mov edx, 0x1000
and ecx, 0xfff
sub edx, ecx
mov rcx, qword [rdi + 0x10]
cmp edx, esi
cmovl esi, edx
and qword [rsp + 0x48], 0
cmp byte [rdi + 0x20], 0
movsxd r8, esi
je 0x140001234
mov rdx, rcx
lea r9, [rsp + 0x48]
mov rcx, rax
call fcn.140001714
jmp 0x14000124d
lea rdx, [rsp + 0x48]
mov r9d, 1
mov qword [rsp + 0x20], rdx
mov rdx, rax
call qword [sym.imp.ntoskrnl.exe_MmCopyMemory]
xor eax, eax
jmp 0x140001256
mov eax, 0xc0000001
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret

Function at 0x140001268
Capabilities:
Attach user process memory

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x60
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, rcx
test rcx, rcx
jne 0x14000128d
xor eax, eax
jmp 0x140001301
mov rbx, qword [rcx + 0x28]
test rbx, rbx
jne 0x1400012a1
call fcn.14000131c
mov ecx, eax
mov rbx, qword [rcx + rdi]
mov rax, rbx
shr rax, 0x38
cmp al, 0x40
jne 0x1400012fe
cmp byte [0x140003038], 0
jne 0x1400012f2
xorps xmm0, xmm0
lea rdx, [rsp + 0x20]
mov rcx, rdi
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call qword [sym.imp.ntoskrnl.exe_KeStackAttachProcess]
mov rax, cr8
lea rcx, [rsp + 0x20]
mov qword [0x140003030], rax
call qword [sym.imp.ntoskrnl.exe_KeUnstackDetachProcess]
mov byte [0x140003038], 1
mov rax, qword [0x140003030]
test rax, rax
jne 0x140001301
mov rax, rbx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400017a0
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
Function at 0x140001070
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x280
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rsp + 0x270], rax
xor edx, edx
mov r8d, 0x1ef4
lea ecx, [rdx + 0x10]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
test rax, rax
je 0x140001196
mov edx, 0x1ef4
mov ecx, 8
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140001131
xor edx, edx
lea rcx, [rsp + 0x34]
mov r8d, 0x234
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], 0x238
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Module32First]
test eax, eax
je 0x140001128
nop dword [rax + rax]
lea rdx, str.client.dll
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x140001128
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Module32Next]
test eax, eax
jne 0x140001100
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 4
call fcn.140001200
mov rbx, rax
xor esi, esi
movabs rbp, 0x1c1b90234d8
nop word [rax + rax]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov r8, rbx
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140001188
movss xmm1, dword [rbx]
lea rcx, str.Value:__f_n
cvtps2pd xmm1, xmm1
movq rdx, xmm1
call fcn.140001010
jmp 0x140001150
lea rcx, str.ReadProcessMemory_failed_n
call fcn.140001010
jmp 0x140001150
mov eax, 1
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.1400011e0
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret

Function at 0x140001c98
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140001ce2
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140001ce2
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140001ce2
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140001ce2
cmp dword [rcx + 0x84], 0xe
jbe 0x140001ce2
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140001ce4
xor al, al
add rsp, 0x28
ret
Function at 0x140001e4a
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
aesimc xmm0, xmmword [rdx + 0x10]
aesimc xmm1, xmmword [rdx + 0x20]
aesimc xmm2, xmmword [rdx + 0x30]
aesimc xmm3, xmmword [rdx + 0x40]
aesimc xmm4, xmmword [rdx + 0x50]
aesimc xmm5, xmmword [rdx + 0x60]
aesimc xmm6, xmmword [rdx + 0x70]
aesimc xmm7, xmmword [rdx + 0x80]
aesimc xmm8, xmmword [rdx + 0x90]
aesimc xmm9, xmmword [rdx + 0xa0]
aesimc xmm10, xmmword [rdx + 0xb0]
aesimc xmm11, xmmword [rdx + 0xc0]
aesimc xmm12, xmmword [rdx + 0xd0]
movaps xmm13, xmmword [rdx]
movaps xmm14, xmmword [rdx + 0xe0]
movaps xmmword [rcx], xmm13
movdqa xmmword [rcx + 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm1
movdqa xmmword [rcx + 0x30], xmm2
movdqa xmmword [rcx + 0x40], xmm3
movdqa xmmword [rcx + 0x50], xmm4
movdqa xmmword [rcx + 0x60], xmm5
movdqa xmmword [rcx + 0x70], xmm6
movdqa xmmword [rcx + 0x80], xmm7
movdqa xmmword [rcx + 0x90], xmm8
movdqa xmmword [rcx + 0xa0], xmm9
movdqa xmmword [rcx + 0xb0], xmm10
movdqa xmmword [rcx + 0xc0], xmm11
movdqa xmmword [rcx + 0xd0], xmm12
movaps xmmword [rcx + 0xe0], xmm14
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
add rsp, 0x98
ret
Function at 0x1400020bd
Capabilities:
Copy file

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, r9
mov rsi, rcx
lea rbx, [rbp - 0x30]
mov rcx, rbx
call fcn.140150ca0
mov rax, qword [rbx]
mov r8, qword [rbx + 8]
test rax, rax
je 0x1400021bb
lea rdx, [rbp - 0x30]
mov rcx, qword [rdx + 0x10]
mov qword [rdx], rax
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rcx
lea rbx, [rbp - 0x48]
mov rcx, rbx
mov r8b, 1
call fcn.140156e30
mov rax, qword [rbx]
mov r8, qword [rbx + 8]
test rax, rax
je 0x1400021bb
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x18], r8
mov r8, qword [rbp + 0x50]
lea rcx, [rbp - 0x30]
mov rdx, rdi
call fcn.140150ca0
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x28]
test rax, rax
je 0x1400021c8
lea rdx, [rbp - 0x30]
mov rcx, qword [rdx + 0x10]
mov qword [rdx], rax
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
lea rcx, [rbp - 0x48]
mov r8b, 1
call fcn.140156e30
mov rdi, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x40]
test rdi, rdi
je 0x1400021c8
lea r9, [rbp - 0x30]
and qword [r9], 0
and dword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
lea r8, [0x14016c760]
mov r14, qword [rbp - 0x10]
mov rcx, r14
mov rdx, rdi
call qword [sym.imp.kernel32.dll_CopyFileExW]
test eax, eax
je 0x1400021d9
mov rax, qword [rbp - 0x30]
mov qword [rsi + 8], rax
and qword [rsi], 0
jmp 0x1400021f1
mov qword [rsi + 8], r8
mov qword [rsi], 1
jmp 0x140002213
mov r14, qword [rbp - 0x10]
mov qword [rsi + 8], rbx
mov qword [rsi], 1
jmp 0x140002201
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
test rbx, rbx
je 0x140002201
push 2
pop rdx
mov rcx, rdi
call fcn.1400224f0
cmp qword [rbp - 0x18], 0
je 0x140002213
push 2
pop rdx
mov rcx, r14
call fcn.1400224f0
nop
add rsp, 0x80
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
Function at 0x14000c673
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, rdx
mov rsi, rcx
cmp qword [rdx], 0
je 0x14000c6c2
lea rdx, [rdi + 8]
cmp qword [rdi + 0x38], 0xffffffffffffffff
mov r8, qword [rdi + 0x48]
mov r9, qword [rdi + 0x50]
mov rax, qword [rdi + 0x58]
mov rcx, qword [rdi + 0x60]
je 0x14000c7a8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 0
jmp 0x14000c7b7
mov bpl, byte [rdi + 0x1a]
mov rbx, qword [rdi + 8]
mov r15, qword [rdi + 0x48]
mov r14, qword [rdi + 0x50]
mov r13b, byte [rdi + 0x18]
xor r12d, r12d
test bpl, bpl
jne 0x14000c7dd
mov eax, r13d
xor al, 1
mov byte [rdi + 0x18], al
mov rcx, rbx
mov rdx, r15
mov r8, r14
call fcn.140006750
test rax, rax
je 0x14000c7f1
test rdx, rdx
je 0x14000c7c1
mov r8b, byte [rax]
movzx ecx, r8b
test cl, cl
jns 0x14000c763
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x14000c754
movzx ecx, byte [rax + 2]
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
cmp r8b, 0xf0
jb 0x14000c75e
movzx eax, byte [rax + 3]
and edx, 7
shl edx, 0x12
shl ecx, 6
and eax, 0x3f
or eax, ecx
or eax, edx
mov ecx, eax
jmp 0x14000c763
shl edx, 6
or edx, r9d
mov ecx, edx
jmp 0x14000c763
shl edx, 0xc
or ecx, edx
test r13b, r13b
jne 0x14000c7c6
cmp ecx, 0x110000
je 0x14000c7d6
mov eax, 1
cmp ecx, 0x80
jb 0x14000c799
mov eax, 2
cmp ecx, 0x800
jb 0x14000c799
cmp ecx, 0x10000
mov eax, 4
sbb rax, 0
add rbx, rax
mov qword [rdi + 8], rbx
mov r13b, 1
jmp 0x14000c6d9
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
mov rcx, rsi
call fcn.1400067cd
jmp 0x14000c7e0
test r13b, r13b
je 0x14000c7d6
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rbx
mov r12d, 1
jmp 0x14000c7dd
mov byte [rdi + 0x1a], 1
xor r12d, r12d
mov qword [rsi], r12
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [0x1403b0a90]
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, r14
mov r8, rbx
mov r9, r14
call fcn.1402da8a0
ud2
Function at 0x140010b9b
Capabilities:
Encrypt data using dpapi

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rsi, rdx
mov rdi, rcx
mov eax, dword [rdx + 0x10]
mov rbx, qword [rdx]
lea rcx, [rsp + 0x38]
mov dword [rcx], eax
lea r14, [rsp + 0x48]
and dword [r14], 0
mov qword [rcx + 8], rbx
and qword [r14 + 8], 0
and dword [rsp + 0x28], 0
mov qword [rsp + 0x30], r14
and qword [rsp + 0x20], 0
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.crypt32.dll_CryptUnprotectData
mov rax, qword [r14 + 8]
mov ecx, dword [r14]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rcx
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.140043da0
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x140024135
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aeskeygenassist xmm0, xmmword [rdx], 2
movdqa xmmword [rcx], xmm0
ret

Function at 0x14004e070
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, rdx
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov ebx, ecx
shr ebx, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov r15, rax
movzx r14d, byte [rax + 1]
add rax, 2
lea r10, [r11 + r14]
cmp byte [r15], bl
jne 0x14004e100
cmp r11, r10
ja 0x14004e176
cmp r10, rdx
ja 0x14004e18a
add r11, r9
xor r15d, r15d
nop word cs:[rax + rax]
cmp r14, r15
je 0x14004e102
lea r12, [r15 + 1]
cmp byte [r11 + r15], cl
mov r15, r12
jne 0x14004e0e0
jmp 0x14004e164
ja 0x14004e10a
mov r11, r10
cmp rax, r8
jne 0x14004e0a4
add rsi, rdi
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r8, [rdi + 1]
movzx edx, byte [rdi]
test dl, dl
js 0x14004e140
mov rdi, r8
sub ecx, edx
jns 0x14004e15b
jmp 0x14004e166
cmp r8, rsi
je 0x14004e19b
movzx r8d, byte [rdi + 1]
add rdi, 2
and edx, 0x7f
shl edx, 8
or edx, r8d
sub ecx, edx
js 0x14004e166
xor al, 1
cmp rdi, rsi
jne 0x14004e120
jmp 0x14004e166
xor eax, eax
and al, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call fcn.1402da630
ud2
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call fcn.1402da3e0
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str.librarycore_srcunicodeprintable.rs
mov edx, 0x2b
call fcn.1402da450
ud2
Function at 0x140050cf1
Capabilities:
Hash data with crc32

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov r9, r8
mov rax, rdx
not ecx
lea rdi, [0x1402f08c0]
mov ebx, 0xff
lea rsi, str.__b__
cmp r9, 0x40
jb 0x140050e21
mov r14d, 4
sub r14, 1
jb 0x140050d16
cmp r9, 0xf
jbe 0x140050e4e
movzx edx, byte [rax + 0xf]
movzx r8d, byte [rax + 0xe]
mov ebp, dword [rdi + r8*4 + 0x400]
xor ebp, dword [rdi + rdx*4]
movzx edx, byte [rax + 0xd]
xor ebp, dword [rdi + rdx*4 + 0x800]
movzx edx, byte [rax + 0xc]
xor ebp, dword [rdi + rdx*4 + 0xc00]
movzx edx, byte [rax + 0xb]
xor ebp, dword [rdi + rdx*4 + 0x1000]
movzx edx, byte [rax + 0xa]
xor ebp, dword [rdi + rdx*4 + 0x1400]
movzx edx, byte [rax + 9]
xor ebp, dword [rdi + rdx*4 + 0x1800]
movzx edx, byte [rax + 8]
xor ebp, dword [rdi + rdx*4 + 0x1c00]
movzx edx, byte [rax + 7]
xor ebp, dword [rdi + rdx*4 + 0x2000]
movzx edx, byte [rax + 6]
xor ebp, dword [rdi + rdx*4 + 0x2400]
movzx edx, byte [rax + 5]
xor ebp, dword [rdi + rdx*4 + 0x2800]
movzx edx, byte [rax + 4]
xor ebp, dword [rdi + rdx*4 + 0x2c00]
mov edx, ecx
shr edx, 0x18
movzx r8d, byte [rax + 3]
xor r8d, edx
xor ebp, dword [rdi + r8*4 + 0x3000]
mov edx, ecx
shr edx, 0x10
and edx, ebx
movzx r8d, byte [rax + 2]
xor r8d, edx
xor ebp, dword [rdi + r8*4 + 0x3400]
mov edx, ecx
shr edx, 8
and edx, ebx
movzx r8d, byte [rax + 1]
xor r8d, edx
xor ebp, dword [rdi + r8*4 + 0x3800]
and ecx, ebx
movzx edx, byte [rax]
xor edx, ecx
xor ebp, dword [rdi + rdx*4 + 0x3c00]
mov rcx, rax
mov rdx, r9
mov r8, rsi
call fcn.140051341
mov r9, rdx
mov ecx, ebp
jmp 0x140050d26
xor edx, edx
cmp r9, rdx
je 0x140050e3f
mov r8b, byte [rax + rdx]
xor r8b, cl
movzx r8d, r8b
shr ecx, 8
xor ecx, dword [rdi + r8*4]
inc rdx
jmp 0x140050e23
not ecx
mov eax, ecx
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
lea r8, str.C:Userscokiss.cargo_registry_srcindex.crates.io_6f17d22bba15001fcrc32fast_1.3.2_src_baseline.rs
mov ecx, 0xf
mov rdx, r9
call fcn.1402da370
ud2
Function at 0x14005e310
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
mov rbx, qword [rcx]
xor ecx, ecx
test rbx, rbx
setne cl
call fcn.140070dd1
test rbx, rbx
je 0x14005e349
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp fcn.14005e35b
mov cl, byte [rdi + 8]
mov rdx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp fcn.14007bf54

Function at 0x14005e35b
Capabilities:
Hash data using fnv

Disassembly:
mov rax, qword [rcx]
xor r9d, r9d
movabs r10, 0x100000001b3
cmp r8, r9
je 0x14005e381
movzx r11d, byte [rdx + r9]
xor rax, r11
imul rax, r10
inc r9
jmp 0x14005e36b
mov qword [rcx], rax
ret