joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400bc478
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
mov ebp, 0x7ff
movzx ecx, word [rcx + 6]
mov esi, edx
shr cx, 4
and cx, bp
cmp cx, bp
jne 0x1400bc4d9
test byte [rbx + 6], 0xf
jne 0x1400bc4cc
xor edi, edi
cmp word [rbx + 4], di
jne 0x1400bc4cc
cmp word [rbx + 2], di
jne 0x1400bc4cc
cmp word [rbx], di
jne 0x1400bc4cc
lea esi, [rdi + 1]
jmp 0x1400bc4d1
mov esi, 2
movzx eax, si
jmp 0x1400bc6d6
xor edi, edi
test cx, cx
jne 0x1400bc4f4
mov rcx, rbx
call fcn.1400bdd58
movzx ecx, ax
cmp di, ax
jl 0x1400bc6d3
movsx edx, cx
test esi, esi
jle 0x1400bc524
sub ebp, edx
cmp ebp, esi
jg 0x1400bc524
movsd xmm0, qword [0x140120c50]
cmp word [rbx + 6], di
jge 0x1400bc516
xorps xmm0, xmmword [0x1400e7010]
movsd qword [rbx], xmm0
mov eax, 1
jmp 0x1400bc6d6
movzx r11d, word [rbx + 6]
mov eax, edx
neg eax
cmp eax, esi
jge 0x1400bc551
add si, cx
mov eax, 0x800f
shl si, 4
and r11w, ax
or si, r11w
mov word [rbx + 6], si
or eax, 0xffffffff
jmp 0x1400bc6d6
movzx r15d, r11w
lea ebp, [rsi - 1]
and r11w, 0xf
mov r13d, 0x8000
mov r12d, 0x10
and r15w, r13w
or r11w, r12w
add ebp, edx
cmp ebp, 0xffffffcb
jl 0x1400bc6c8
test ebp, ebp
jns 0x1400bc6c8
lea esi, [r12 - 0xf]
movzx r14d, di
cmp bp, 0xfff0
jg 0x1400bc5ec
movzx ecx, word [rbx + 4]
mov eax, 0xfff0
movzx edx, word [rbx + 2]
sub ax, bp
shr ax, 4
movzx r9d, r11w
add ax, si
movzx r8d, ax
movzx eax, r8w
shl ax, 4
add bp, ax
test r14w, r14w
mov eax, edi
setne al
movzx r14d, ax
or r14w, word [rbx]
mov word [rbx], dx
movzx edx, cx
movzx ecx, r9w
mov r9d, edi
sub r8, rsi
jne 0x1400bc5bd
mov word [rbx + 4], cx
movzx r11d, di
mov word [rbx + 2], dx
neg bp
je 0x1400bc66b
movzx r8d, word [rbx]
mov eax, edi
movzx r9d, word [rbx + 2]
movzx edx, r8w
movsx r10d, bp
sub r12d, r10d
mov ecx, r12d
shl dx, cl
test r14w, r14w
movzx r14d, dx
movzx edx, word [rbx + 4]
setne al
or r14w, ax
movzx eax, r9w
shl ax, cl
movzx ecx, bp
shr r8w, cl
mov ecx, r12d
or ax, r8w
mov word [rbx], ax
movzx eax, dx
shl ax, cl
movzx ecx, bp
shr r9w, cl
mov ecx, r12d
or ax, r9w
mov word [rbx + 2], ax
movzx eax, r11w
shl ax, cl
movzx ecx, bp
shr dx, cl
mov ecx, r10d
or ax, dx
mov word [rbx + 4], ax
shr r11w, cl
or r11w, r15w
mov word [rbx + 6], r11w
cmp r13w, r14w
jb 0x1400bc681
jne 0x1400bc6a0
test byte [rbx], sil
je 0x1400bc6a0
add word [rbx], si
jne 0x1400bc6a0
add word [rbx + 2], si
jne 0x1400bc6a0
add word [rbx + 4], si
jne 0x1400bc6a0
add r11w, si
mov word [rbx + 6], r11w
jmp 0x1400bc549
cmp r11w, r15w
jne 0x1400bc549
cmp word [rbx + 4], di
jne 0x1400bc549
cmp word [rbx + 2], di
jne 0x1400bc549
cmp word [rbx], di
je 0x1400bc6d3
jmp 0x1400bc549
mov word [rbx + 6], r15w
mov dword [rbx + 2], edi
mov word [rbx], di
movzx eax, di
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x1400014e6
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x240
mov esi, r8d
mov ebx, r8d
lea r9, [rsp + 0x28]
mov r12, rcx
and esi, 0x300
mov r13, rdx
mov r8d, esi
or r8d, 8
call fcn.14000706b
test eax, eax
jne 0x14000158a
mov r14d, ebx
mov rbp, qword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
lea rdi, [rsp + 0x36]
and r14d, 1
xor edx, edx
mov rcx, qword [rsp + 0x28]
mov r9d, 0x105
mov r8, rdi
call rbp
test eax, eax
jne 0x14000156d
mov rcx, qword [rsp + 0x28]
test r14d, r14d
je 0x14000155e
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x3eb
jmp 0x14000158a
mov r8d, ebx
mov rdx, rdi
call fcn.1400014e6
test eax, eax
je 0x140001531
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor r9d, r9d
mov r8d, esi
mov rdx, r13
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyExW]
add rsp, 0x240
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
Function at 0x14000362e
Capabilities:
Read file on windows

Disassembly:
mov r8d, edx
mov rdx, rcx
mov rcx, qword [0x140009028]
jmp fcn.140006eea

Function at 0x140003818
Capabilities:
Read file on windows

Disassembly:
push r13
push r12
push rsi
push rbx
sub rsp, 0x48
mov rsi, rdx
mov r13, r8
mov ebx, r9d
test ecx, ecx
js 0x140003852
movsxd rdx, ecx
add rdx, qword [0x1400169b4]
xor r9d, r9d
xor r8d, r8d
mov dword [0x14002aa98], edx
mov rcx, qword [0x140009020]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, 4
call fcn.140003656
mov r12d, eax
test eax, eax
js 0x140003958
mov rcx, qword [0x140009020]
lea rdx, [rsp + 0x3c]
mov r8d, 4
call fcn.140006eea
test eax, eax
jne 0x14000388d
mov r12d, 0xfffffffd
jmp 0x140003958
mov ecx, dword [rsp + 0x3c]
add dword [0x14002aa98], 4
call fcn.140003656
mov r12d, eax
test eax, eax
js 0x140003958
test r13, r13
jne 0x140003912
mov r13d, 0x4000
lea rbx, [0x1400269e0]
mov r8d, dword [rsp + 0x3c]
test r8d, r8d
jle 0x140003958
cmp r8d, 0x4000
mov rcx, qword [0x140009020]
mov rdx, rbx
cmovg r8d, r13d
mov dword [rsp + 0x38], r8d
call fcn.140006eea
test eax, eax
je 0x140003882
mov r8d, dword [rsp + 0x38]
mov rdx, rbx
mov rcx, rsi
call fcn.140006f19
test eax, eax
je 0x140003952
mov eax, dword [rsp + 0x38]
sub dword [rsp + 0x3c], eax
add dword [0x14002aa98], eax
add r12d, eax
jmp 0x1400038ba
cmp dword [rsp + 0x3c], ebx
cmovle ebx, dword [rsp + 0x3c]
lea r9, [rsp + 0x38]
mov rdx, r13
mov qword [rsp + 0x20], 0
mov rcx, qword [0x140009020]
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140003882
mov r12d, dword [rsp + 0x38]
add dword [0x14002aa98], r12d
jmp 0x140003958
mov r12d, 0xfffffffe
mov eax, r12d
add rsp, 0x48
pop rbx
pop rsi
pop r12
pop r13
ret
Function at 0x140003cc0
Capabilities:
Get common file path

Disassembly:
push r12
push rbx
sub rsp, 0x28
mov rax, qword [0x14000b0d0]
mov rbx, qword [rax]
lea r12, [rbx + 0xc800]
mov rcx, r12
call fcn.1400072cc
mov rcx, r12
call fcn.140006c6c
test eax, eax
je 0x140003d12
mov rcx, r12
call fcn.14000728c
mov rcx, r12
call fcn.140006ac3
lea rcx, [rbx + 0xc000]
mov rdx, r12
add rsp, 0x28
pop rbx
pop r12
jmp fcn.140006e7e
xor eax, eax
add rsp, 0x28
pop rbx
pop r12
ret

Function at 0x140003d1c
Capabilities:
Delete file

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, qword [0x14000b030]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140003d3e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], 0xffffffffffffffff
mov rbx, qword [0x14000afe0]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140003d5b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], 0xffffffffffffffff
call fcn.140004345
mov rax, qword [0x14000b0d0]
mov edx, 7
mov rcx, qword [rax]
add rcx, 0xd000
add rsp, 0x20
pop rbx
jmp fcn.140007791
Function at 0x140006a30
Capabilities:
Create directory

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x60
lea rax, [0x14000a870]
mov qword [rsp + 0x40], rax
lea rsi, [rsp + 0x38]
mov r12, rcx
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x48], rax
sub rax, 0x10
mov dword [rsp + 0x38], 0x40001
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x20], 0x18
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x140006a93
xor eax, eax
jmp 0x140006aba
mov rbx, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbx
cmp eax, 0xb7
jne 0x140006aba
mov r8, rsi
mov edx, 0x80000007
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_SetFileSecurityW]
test eax, eax
jne 0x140006a8f
call rbx
add rsp, 0x60
pop rbx
pop rsi
pop r12
ret

Function at 0x140006ac3
Capabilities:
Create directory

Disassembly:
sub rsp, 0x28
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140006ade
add rsp, 0x28
jmp qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
add rsp, 0x28
ret

Function at 0x140006ae5
Capabilities:
Create process on windows

Disassembly:
sub rsp, 0x78
xor r8d, r8d
xor r9d, r9d
mov dword [0x140032680], 0x68
lea rax, [rsp + 0x58]
mov rdx, rcx
xor ecx, ecx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x48], rax
lea rax, [0x140032680]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x4000000
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov r8d, eax
xor eax, eax
test r8d, r8d
je 0x140006b56
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x58]
add rsp, 0x78
ret

Function at 0x140006b5b
Capabilities:
Create process on windows

Disassembly:
mov dword [rcx], 0x70
mov qword [rcx + 0x40], 0
jmp qword [sym.imp.SHELL32.dll_ShellExecuteExW]

Function at 0x140006d9f
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
push r12
sub rsp, 0x20
mov qword [rsp + 0x30], rcx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r12d, eax
cmp eax, 0xffffffff
je 0x140006dc8
mov edx, eax
mov rcx, qword [rsp + 0x30]
and edx, 0xfffffffe
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, r12d
add rsp, 0x20
pop r12
ret

Function at 0x140006dd2
Capabilities:
Delete directory
Delete file
Set file attributes

Disassembly:
push r13
push r12
push rbx
sub rsp, 0x20
mov r12, rcx
mov ebx, edx
call fcn.140006d9f
mov r13d, eax
cmp eax, 0xffffffff
jne 0x140006df1
xor ebx, ebx
jmp 0x140006e25
mov rcx, r12
test bl, 1
je 0x140006e1d
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x140006e16
and ebx, 4
jne 0x140006ded
mov edx, r13d
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x140006e25
mov ebx, 1
jmp 0x140006e25
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x140006dff
mov eax, ebx
add rsp, 0x20
pop rbx
pop r12
pop r13
ret
Function at 0x140006e31
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbx
sub rsp, 0x40
mov dword [rsp + 0x58], edx
mov ebx, r8d
mov qword [rsp + 0x50], rcx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 0x58]
cmp eax, 0xffffffff
jne 0x140006e58
xor eax, eax
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov r8d, 1
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
add rsp, 0x40
pop rbx
ret

Function at 0x140006e7e
Capabilities:
Get common file path

Disassembly:
push r12
push rdi
push rsi
push rbx
sub rsp, 0x38
mov ebx, 0x65
movabs rdi, 0x610073006e
mov r12, rcx
mov rsi, rdx
dec ebx
je 0x140006ed3
mov qword [rsp + 0x28], rdi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, 0x1a
xor edx, edx
xor r8d, r8d
div ecx
mov r9, r12
mov rcx, rsi
add word [rsp + 0x2c], dx
lea rdx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x140006e9c
jmp 0x140006edd
mov word [r12], 0
xor r12d, r12d
mov rax, r12
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop r12
ret

Function at 0x140006eea
Capabilities:
Read file on windows

Disassembly:
push rbx
sub rsp, 0x40
mov qword [rsp + 0x20], 0
mov ebx, r8d
lea r9, [rsp + 0x3c]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140006f13
xor eax, eax
cmp dword [rsp + 0x3c], ebx
sete al
add rsp, 0x40
pop rbx
ret

Function at 0x140006f19
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x40
mov qword [rsp + 0x20], 0
mov ebx, r8d
lea r9, [rsp + 0x3c]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140006f42
xor eax, eax
cmp dword [rsp + 0x3c], ebx
sete al
add rsp, 0x40
pop rbx
ret

Function at 0x140006fef
Capabilities:
Move file

Disassembly:
sub rsp, 0x28
mov r8d, 5
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov rax, qword [0x14000b040]
inc dword [rax + 0x10]
add rsp, 0x28
ret

Function at 0x140007107
Capabilities:
Query or enumerate registry value

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x40
mov r12, r8
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x30], 0x800
mov rbx, r9
test r8d, r8d
je 0x140007130
mov r8d, 0x200
or r8d, 0x20019
lea r9, [rsp + 0x38]
call fcn.14000706b
test eax, eax
je 0x14000714c
mov word [rbx], 0
jmp 0x140007196
lea rax, [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
xor r8d, r8d
mov rdx, r12
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x38]
mov esi, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov word [rbx + 0x7fe], 0
test esi, esi
jne 0x140007145
mov eax, dword [rsp + 0x34]
dec eax
cmp eax, 1
ja 0x140007145
add rsp, 0x40
pop rbx
pop rsi
pop r12
ret
Function at 0x1400076dc
Capabilities:
Get file attributes

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdx, rcx
lea rcx, [0x140031680]
call fcn.140007271
lea rcx, [0x140031680]
call fcn.140006c96
mov rbx, rax
test rax, rax
jne 0x14000770a
xor eax, eax
jmp 0x140007789
mov rcx, rax
call fcn.1400072cc
mov rax, qword [0x14000b060]
test byte [rax], 0x80
je 0x14000772c
mov ax, word [rbx]
test ax, ax
je 0x140007706
cmp ax, 0x5c
je 0x140007706
lea rsi, [0x140031680]
mov rdi, qword [sym.imp.KERNEL32.dll_lstrlenW]
sub rbx, rsi
sar rbx, 1
mov rcx, rsi
call rdi
cdqe
cmp rax, rbx
jle 0x140007768
mov rcx, rsi
call fcn.1400076ae
test rax, rax
je 0x14000775e
test byte [rax], 0x10
je 0x140007706
mov rcx, rsi
call fcn.140006c2f
jmp 0x140007740
lea rcx, [0x140031680]
call fcn.14000728c
lea rcx, [0x140031680]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
inc eax
setne al
movzx eax, al
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
Function at 0x140007791
Capabilities:
Delete file

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x288
mov edi, edx
mov r12, rcx
mov esi, edx
call fcn.1400076dc
and edi, 4
mov ebp, eax
test sil, 8
je 0x1400077d7
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rdx, qword [0x14000b040]
cmp eax, 1
adc dword [rdx + 8], 0
jmp 0x1400079a6
mov r14d, esi
and r14d, 1
je 0x1400077f2
test eax, eax
je 0x14000798c
test sil, 2
je 0x140007949
mov rdx, r12
lea rcx, [0x140031e80]
call fcn.140007271
test r14d, r14d
je 0x14000781b
lea rdx, str..
lea rcx, [0x140031e80]
call sub.KERNEL32.dll_lstrcatW
jmp 0x140007823
mov rcx, r12
call fcn.140006c2f
cmp word [r12], 0
jne 0x140007835
cmp word [0x140031e80], 0x5c
jne 0x140007844
lea rdx, [0x14000a6a0]
mov rcx, r12
call sub.KERNEL32.dll_lstrcatW
mov rcx, r12
lea r15, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rdx, r15
lea rcx, [0x140031e80]
movsxd rbx, eax
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
add rbx, rbx
add rbx, r12
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x14000793a
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
mov rax, qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov qword [rsp + 0x20], rax
cmp word [rsp + 0x5c], 0x2e
jne 0x1400078ae
mov ax, word [rsp + 0x5e]
test ax, ax
je 0x14000791c
cmp ax, 0x2e
jne 0x1400078ae
cmp word [rsp + 0x60], 0
je 0x14000791c
mov rdx, qword [rsp + 0x28]
mov rcx, rbx
call fcn.140007271
test byte [rsp + 0x30], 0x10
je 0x1400078d8
mov eax, esi
and eax, 3
cmp eax, 3
jne 0x14000791c
mov edx, esi
mov rcx, r12
call fcn.140007791
jmp 0x14000791c
mov edx, edi
mov rcx, r12
call fcn.140006dd2
test eax, eax
jne 0x14000790f
test edi, edi
je 0x140007903
mov rdx, r12
mov ecx, 0xfffffff1
call fcn.140006482
xor edx, edx
mov rcx, r12
call fcn.140006fef
jmp 0x14000791c
mov rax, qword [0x14000b040]
inc dword [rax + 8]
jmp 0x14000791c
mov rdx, r12
mov ecx, 0xfffffff2
call fcn.140006482
mov rax, qword [rsp + 0x20]
mov rdx, r15
mov rcx, r13
call rax
test eax, eax
jne 0x14000788e
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
test r14d, r14d
je 0x1400079a6
mov word [rbx - 2], 0
test ebp, ebp
je 0x14000798c
mov rcx, r12
call fcn.1400076ae
test rax, rax
je 0x1400079a6
mov rcx, r12
call fcn.14000728c
mov edx, edi
mov rcx, r12
or edx, 1
call fcn.140006dd2
test eax, eax
jne 0x140007998
test edi, edi
je 0x14000798c
mov rdx, r12
mov ecx, 0xfffffff1
call fcn.140006482
xor edx, edx
mov rcx, r12
call fcn.140006fef
jmp 0x1400079a6
mov rax, qword [0x14000b040]
inc dword [rax + 8]
jmp 0x1400079a6
mov rdx, r12
mov ecx, 0xffffffe5
call fcn.140006482
nop
add rsp, 0x288
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x1400079ba
Capabilities:
Get common file path

Disassembly:
push r12
sub rsp, 0x260
mov edx, 0x104
lea r12, [rsp + 0x24]
mov qword [rsp + 0x270], rcx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov r9, qword [rsp + 0x270]
lea edx, [rax - 1]
cmp edx, 0x103
ja 0x1400079ff
cmp word [rsp + rdx*2 + 0x24], 0x5c
sete dl
movzx edx, dl
jmp 0x140007a06
xor eax, eax
mov edx, 1
mov eax, eax
add rdx, rdx
add rax, rax
lea rcx, [r12 + rax]
lea rax, [0x14000a6a0]
lea r8, [rax + rdx]
lea rdx, str._s_S.dll
call qword [sym.imp.USER32.dll_wsprintfW]
mov r8d, 8
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
add rsp, 0x260
pop r12
ret
Function at 0x1400029c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x10]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, str.Newuser_teng_tbellevue_tscom_tProducts_tios_tlogs_tpftpl_tfilme_tcollaboration_trpx_tinglese_tbec_tpanscient_tweblink_tfoi_tpagenotfound_tbanner_tetoile_tgid_ttyposrc_tstimulus_tcolleges_tfixes_tssimages_tbraun_ttestimonies_teinkaufen_tbanana_tdemote_tmembres_tmytp_tfreelist_tstyly_truben_tbeloved_tsite_ttestit_tohbaby_thandily_tprofiles_tcroatia_tsalesservices_tphocamapskml_tpagepeel_thazel_thtmlfiles
mov r10, rax
sub rbx, rax
movabs rdi, 0x2d82d82d82d82d83
lea r9, [rax + 2]
nop dword [rax + rax]
movsxd r8, r11d
mov rax, rdi
mul r8
mov rcx, r8
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [rbx + r9 - 2]
movsx eax, al
mov word [r9 - 2], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 2]
xor al, byte [rbx + r9]
movsx eax, al
mov word [r9], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 3]
xor al, byte [rbx + r9 + 2]
movsx eax, al
mov word [r9 + 2], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 4]
xor al, byte [rbx + r9 + 4]
movsx eax, al
mov word [r9 + 4], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 5]
xor al, byte [rbx + r9 + 6]
movsx eax, al
mov word [r9 + 6], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 6]
xor al, byte [rbx + r9 + 8]
movsx eax, al
mov word [r9 + 8], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 7]
xor al, byte [rbx + r9 + 0xa]
movsx eax, al
mov word [r9 + 0xa], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [rbx + r9 + 0xc]
movsx eax, al
mov word [r9 + 0xc], ax
lea rcx, [r8 + 8]
mov rax, rdi
mul rcx
add r11d, 0xc
lea r9, [r9 + 0x18]
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 9]
xor al, byte [rbx + r9 - 0xa]
movsx eax, al
mov word [r9 - 0xa], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 0xa]
xor al, byte [rbx + r9 - 8]
movsx eax, al
mov word [r9 - 8], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 0xb]
xor al, byte [rbx + r9 - 6]
movsx eax, al
mov word [r9 - 6], ax
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [rbx + r9 - 4]
movsx eax, al
mov word [r9 - 4], ax
cmp r11d, 0xc
jb 0x140002a10
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140002f40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, str.Newuser_teng_tbellevue_tscom_tProducts_tios_tlogs_tpftpl_tfilme_tcollaboration_trpx_tinglese_tbec_tpanscient_tweblink_tfoi_tpagenotfound_tbanner_tetoile_tgid_ttyposrc_tstimulus_tcolleges_tfixes_tssimages_tbraun_ttestimonies_teinkaufen_tbanana_tdemote_tmembres_tmytp_tfreelist_tstyly_truben_tbeloved_tsite_ttestit_tohbaby_thandily_tprofiles_tcroatia_tsalesservices_tphocamapskml_tpagepeel_thazel_thtmlfiles
mov r10, rax
sub rbx, rax
movabs rdi, 0x2d82d82d82d82d83
lea r9, [rax + 1]
nop dword [rax + rax]
movsxd r8, r11d
mov rax, rdi
mul r8
mov rcx, r8
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [rbx + r9 - 1]
mov byte [r9 - 1], al
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 2]
xor al, byte [rbx + r9]
mov byte [r9], al
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 3]
xor al, byte [rbx + r9 + 1]
mov byte [r9 + 1], al
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 4]
xor al, byte [rbx + r9 + 2]
mov byte [r9 + 2], al
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 5]
xor al, byte [rbx + r9 + 3]
mov byte [r9 + 3], al
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 6]
xor al, byte [rbx + r9 + 4]
mov byte [r9 + 4], al
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 7]
xor al, byte [rbx + r9 + 5]
mov byte [r9 + 5], al
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 8]
xor al, byte [rbx + r9 + 6]
mov byte [r9 + 6], al
mov rax, rdi
mul rcx
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [rbx + r9 + 7]
mov byte [r9 + 7], al
lea rcx, [r8 + 9]
mov rax, rdi
lea r9, [r9 + 0xa]
mul rcx
add r11d, 0xa
shr rdx, 6
imul rax, rdx, 0x168
sub rcx, rax
movzx eax, byte [rcx + rsi]
xor al, byte [rbx + r9 - 2]
mov byte [r9 - 2], al
cmp r11d, 0xa
jb 0x140002f90
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret