joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14004c850
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x150
mov rax, qword [0x1401385c0]
xor rax, rsp
mov qword [rsp + 0x140], rax
cmp byte [0x14013a816], 0
lea rsi, [0x14013a6f0]
mov edi, edx
mov rbx, rcx
je 0x14004c8a8
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x29]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov rcx, rsi
call fcn.140048e80
cmp byte [0x14013a6f0], 0
jne 0x14004c9b4
mov rcx, qword [0x14013a290]
mov r8d, 0x104
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edx, 0x5c
mov rcx, rsi
call fcn.140061090
test rax, rax
je 0x14004c8e0
mov byte [rax], 0
mov rcx, rsi
call fcn.140048e80
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rcx + rsi]
mov byte [rsp + rcx + 0x30], al
lea rcx, [rcx + 1]
test al, al
jne 0x14004c8f0
lea rcx, [rsp + 0x30]
dec rcx
nop dword [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14004c910
lea r8, str.msocxushell.dll
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14004c930
lea rcx, [rsp + 0x30]
call fcn.140049390
test eax, eax
jne 0x14004c956
mov byte [0x14013a6f0], al
jmp 0x14004c95f
cmp byte [0x14013a6f0], 0
jne 0x14004c9b4
xor r9d, r9d
mov edx, 0x104
mov rcx, rsi
lea r8d, [r9 + 1]
call fcn.14004c2a0
test eax, eax
je 0x14004c98c
mov edx, 0x5c
mov rcx, rsi
call fcn.140061090
test rax, rax
je 0x14004c98c
mov byte [rax], 0
cmp byte [0x14013a6f0], 0
jne 0x14004c9b4
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x29]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov rcx, rsi
call fcn.140048e80
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.14006a380
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14005f0d0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x14004e930
Capabilities:
Get common file path
Get hostname
Get session user name
Query environment variable

Disassembly:
push rbx
sub rsp, 0x480
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov rax, qword [0x1401385c0]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov rbx, rcx
mov byte [rsp + 0x250], 0
call fcn.140049b10
mov edx, 0x104
lea rcx, [rsp + 0x250]
test eax, eax
je 0x14004e97d
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryA]
jmp 0x14004e983
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x20], 0x104
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov rax, qword [rsp + 0x30]
test al, al
cmove rax, qword [str.Unknown]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x140], 0
mov dword [rsp + 0x20], 0x104
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x140]
call qword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov rax, qword [rsp + 0x140]
movabs rcx, 0x746c7561666544
test al, al
cmove rax, rcx
mov qword [rsp + 0x140], rax
mov rcx, rbx
call fcn.1400484d0
lea r8, [rsp + 0x250]
lea rdx, str._systemroot_
mov rcx, rbx
call fcn.140048650
xor edx, edx
mov r8d, 0x104
lea rcx, [rsp + 0x360]
call fcn.140060ef0
mov r8d, 0x104
lea rdx, [rsp + 0x360]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
lea rdx, [rsp + 0x360]
mov rcx, rbx
call fcn.1400472e0
nop
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.14005f0d0
add rsp, 0x480
pop rbx
ret
Function at 0x140051860
Capabilities:
Get session user name

Disassembly:
mov qword [rsp + 0x18], r8
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rsi
mov rsi, rdx
xor eax, eax
mov dword [rsp + 0x20], eax
test rdx, rdx
je 0x14005191c
test r8, r8
je 0x14005191c
mov qword [rsp + 0x28], rax
lea rcx, str.secur32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400518e6
lea rdx, str.GetUserNameExA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400518e6
lea r8, [rsp + 0x60]
mov rdx, rsi
mov ecx, 2
call rax
movzx edi, al
mov dword [rsp + 0x20], edi
test al, al
jne 0x1400518fa
lea rdx, [rsp + 0x60]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov edi, eax
mov dword [rsp + 0x20], eax
jmp 0x140051905
test rbx, rbx
je 0x140051914
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
jmp 0x14005191a
mov eax, edi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret

Function at 0x14007e5c8
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov ebx, ecx
test r8d, r8d
jne 0x14007e453
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14007e453
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14007e453
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14007e453
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14007e453
cmp dword [rcx + 0x84], 0xe
jbe 0x14007e453
cmp dword [rcx + 0xf8], 0
je 0x14007e453
mov ecx, ebx
call fcn.14007e4f4
lea rax, [rbp + 0x18]
mov byte [rbp + 0x28], 0
mov qword [rbp - 0x20], rax
lea r9, [rbp - 0x2c]
lea rax, [rbp + 0x20]
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x20]
lea rax, [rbp + 0x28]
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x28]
mov eax, 2
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
call fcn.14007e2d0
cmp dword [rbp + 0x20], 0
je 0x14007e4a0
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.14007e4a8
int3
xor r8d, r8d
xor edx, edx
jmp 0x14007e3ec
Function at 0x14008eec8
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movsxd r15, ecx
lea r10, [0x14013c170]
mov r14, rdx
mov rax, r15
sar rax, 6
mov rdx, r15
and edx, 0x3f
mov rdi, r15
shl rdx, 6
mov r9, qword [r10 + rax*8]
mov r12, qword [r9 + rdx + 0x28]
test r8, r8
je 0x14008ef2d
cmp byte [r14], 0xa
jne 0x14008ef2d
mov rcx, r15
mov rax, r15
sar rax, 6
and ecx, 0x3f
shl rcx, 6
mov rax, qword [r10 + rax*8]
or byte [rax + rcx + 0x38], 4
jmp 0x14008ef4e
mov dl, byte [r9 + rdx + 0x38]
mov rcx, rdi
and dl, 0xfb
mov rax, rdi
sar rax, 6
and ecx, 0x3f
shl rcx, 6
mov rax, qword [r10 + rax*8]
mov byte [rax + rcx + 0x38], dl
lea rbp, [r14 + r8]
mov rsi, r14
mov rbx, r14
cmp r14, rbp
jae 0x14008f0a8
mov r13d, 1
mov al, byte [rsi]
cmp al, 0x1a
je 0x14008f068
cmp al, 0xd
je 0x14008ef82
mov byte [rbx], al
add rbx, r13
add rsi, r13
jmp 0x14008f05d
lea rax, [rsi + 1]
cmp rax, rbp
jae 0x14008efa8
cmp byte [rax], 0xa
jne 0x14008ef9a
mov byte [rbx], 0xa
mov eax, 2
jmp 0x14008efa0
mov byte [rbx], 0xd
mov rax, r13
add rsi, rax
jmp 0x14008f05a
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x78]
mov r8d, r13d
lea rdx, [rsp + 0x70]
mov rcx, r12
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008f050
cmp dword [rsp + 0x78], 0
je 0x14008f050
mov rcx, rdi
lea r10, [0x14013c170]
and ecx, 0x3f
mov rax, rdi
sar rax, 6
shl rcx, 6
mov rax, qword [r10 + rax*8]
test byte [rax + rcx + 0x38], 0x48
je 0x14008f020
mov dl, byte [rsp + 0x70]
cmp dl, 0xa
je 0x14008f02c
mov rcx, rdi
mov byte [rbx], 0xd
mov rax, rdi
and ecx, 0x3f
sar rax, 6
shl rcx, 6
mov rax, qword [r10 + rax*8]
mov byte [rax + rcx + 0x3a], dl
jmp 0x14008f05a
cmp byte [rsp + 0x70], 0xa
jne 0x14008f031
cmp rbx, r14
jne 0x14008f031
mov byte [rbx], 0xa
jmp 0x14008f05a
mov r8d, r13d
or rdx, 0xffffffffffffffff
mov ecx, r15d
call fcn.140090e54
cmp byte [rsp + 0x70], 0xa
lea r10, [0x14013c170]
je 0x14008f05d
jmp 0x14008f057
lea r10, [0x14013c170]
mov byte [rbx], 0xd
add rbx, r13
cmp rsi, rbp
jb 0x14008ef67
jmp 0x14008f0a8
mov rcx, rdi
mov rax, rdi
sar rax, 6
and ecx, 0x3f
shl rcx, 6
mov rax, qword [r10 + rax*8]
mov dl, byte [rax + rcx + 0x38]
test dl, 0x40
jne 0x14008f0a1
mov rax, rdi
or dl, 2
sar rax, 6
and edi, 0x3f
shl rdi, 6
mov rax, qword [r10 + rax*8]
mov byte [rax + rdi + 0x38], dl
jmp 0x14008f0a8
mov cl, byte [rsi]
mov byte [rbx], cl
add rbx, r13
sub rbx, r14
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14008f0c8
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movsxd r15, ecx
lea r11, [0x14013c170]
mov r9, r15
mov rax, r15
sar rax, 6
and r9d, 0x3f
shl r9, 6
mov r14, rdx
mov rdi, r15
mov r10d, 0xa
mov rdx, qword [r11 + rax*8]
mov r12, qword [rdx + r9 + 0x28]
test r8, r8
je 0x14008f134
cmp word [r14], r10w
jne 0x14008f134
mov rcx, r15
mov rax, r15
sar rax, 6
and ecx, 0x3f
shl rcx, 6
mov rax, qword [r11 + rax*8]
or byte [rax + rcx + 0x38], 4
jmp 0x14008f155
mov dl, byte [rdx + r9 + 0x38]
mov rcx, rdi
and dl, 0xfb
mov rax, rdi
sar rax, 6
and ecx, 0x3f
shl rcx, 6
mov rax, qword [r11 + rax*8]
mov byte [rax + rcx + 0x38], dl
lea rbp, [r14 + r8*2]
mov rsi, r14
mov rbx, r14
cmp r14, rbp
jae 0x14008f32e
mov ecx, 0xd
lea r13d, [rcx - 0xb]
movzx eax, word [rsi]
cmp ax, 0x1a
je 0x14008f2ec
cmp ax, cx
je 0x14008f191
mov word [rbx], ax
add rbx, r13
add rsi, r13
jmp 0x14008f285
lea rax, [rsi + 2]
cmp rax, rbp
jae 0x14008f1b9
cmp word [rax], r10w
jne 0x14008f1ab
mov word [rbx], r10w
mov eax, 4
jmp 0x14008f1b1
mov word [rbx], cx
mov rax, r13
add rsi, rax
jmp 0x14008f2cf
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x80]
mov r8d, r13d
lea rdx, [rsp + 0x70]
mov rcx, r12
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008f2d4
cmp dword [rsp + 0x80], 0
je 0x14008f2d4
mov rcx, rdi
lea r11, [0x14013c170]
and ecx, 0x3f
mov rax, rdi
sar rax, 6
mov r10d, 0xa
shl rcx, 6
mov rax, qword [r11 + rax*8]
test byte [rax + rcx + 0x38], 0x48
je 0x14008f293
movzx eax, word [rsp + 0x70]
cmp ax, r10w
jne 0x14008f22b
mov word [rbx], r10w
jmp 0x14008f27d
mov r8, rdi
mov word [rsp + 0x78], ax
mov r9, rdi
and r8d, 0x3f
sar r9, 6
mov ecx, 0xd
xor edx, edx
mov word [rbx], cx
shl r8, 6
mov rcx, qword [r11 + r9*8]
mov al, byte [rsp + rdx + 0x78]
add rcx, r8
mov byte [rcx + rdx + 0x3a], al
inc rdx
cmp rdx, r13
jl 0x14008f24c
mov rcx, rdi
mov rax, rdi
sar rax, 6
and ecx, 0x3f
shl rcx, 6
mov rax, qword [r11 + rax*8]
mov byte [rax + rcx + 0x3c], r10b
add rbx, r13
mov ecx, 0xd
cmp rsi, rbp
jb 0x14008f171
jmp 0x14008f32e
cmp word [rsp + 0x70], r10w
jne 0x14008f2a0
cmp rbx, r14
je 0x14008f225
mov rdx, 0xfffffffffffffffe
mov ecx, r15d
lea r8d, [rdx + 3]
call fcn.140090e54
mov r10d, 0xa
lea r11, [0x14013c170]
cmp word [rsp + 0x70], r10w
je 0x14008f280
lea ecx, [r10 + 3]
mov word [rbx], cx
add rbx, r13
jmp 0x14008f285
mov ecx, 0xd
lea r11, [0x14013c170]
mov word [rbx], cx
add rbx, r13
lea r10d, [rcx - 3]
jmp 0x14008f285
mov rcx, rdi
mov rax, rdi
sar rax, 6
and ecx, 0x3f
shl rcx, 6
mov rax, qword [r11 + rax*8]
mov dl, byte [rax + rcx + 0x38]
test dl, 0x40
jne 0x14008f325
mov rax, rdi
or dl, r13b
sar rax, 6
and edi, 0x3f
shl rdi, 6
mov rax, qword [r11 + rax*8]
mov byte [rax + rdi + 0x38], dl
jmp 0x14008f32e
movzx ecx, word [rsi]
mov word [rbx], cx
add rbx, r13
sub rbx, r14
sar rbx, 1
lea rax, [rbx + rbx]
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400943c0
Capabilities:
Write file on windows

Disassembly:
mov r11, rsp
push rdi
push r14
push r15
sub rsp, 0xa0
mov qword [r11 - 0x48], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x1401385c0]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov r15d, edx
mov r14, rcx
mov qword [rsp + 0x60], rcx
xor esi, esi
mov dword [rsp + 0x40], esi
or rdi, 0xffffffffffffffff
mov qword [r11 - 0x70], rdi
lea rcx, [0x14013c600]
call fcn.140040fe0
nop
mov ebx, esi
mov dword [rsp + 0x50], ebx
nop dword [rax]
cmp ebx, 0x32
jge 0x140094470
cmp rdi, 0xffffffffffffffff
jne 0x14009447a
test ebx, ebx
jle 0x140094438
lea ecx, [rdi + 0x15]
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, r14
call fcn.140094750
mov rdi, rax
mov qword [rsp + 0x48], rax
jmp 0x140094420
cmp rdi, 0xffffffffffffffff
je 0x140094537
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebx, esi
mov dword [rsp + 0x54], ebx
cmp ebx, 0xa
jae 0x1400944e3
mov rdx, qword [r14 + 0x108]
mov rax, qword [rdx - 0x10]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x58]
mov r8d, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1400944d4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov esi, 1
mov dword [rsp + 0x40], esi
jmp 0x1400944e3
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
jmp 0x14009448d
test r15d, r15d
je 0x1400944f1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x48], rdi
mov rdx, r14
lea rcx, [rsp + 0x78]
call fcn.140001750
nop
lea rcx, [rsp + 0x78]
call fcn.14004a0f0
nop
lea rcx, [rsp + 0x78]
call fcn.140002ff0
nop
jmp 0x140094537
xor edx, edx
mov r8d, 0x104
mov rcx, r14
call fcn.140060ef0
lea rcx, [r14 + 0x108]
call fcn.140047810
lea rcx, [r14 + 0x110]
call fcn.140047810
lea rcx, [0x14013c600]
call fcn.1400413a0
mov rbx, rax
nop
test rbx, rbx
je 0x1400945ba
mov rdx, rbx
lea rcx, [0x14013c600]
call fcn.140041400
mov r15, rax
mov rcx, rbx
call fcn.140041390
test rax, rax
je 0x1400945b5
mov rcx, rbx
call fcn.140041390
cmp r14, rax
jne 0x1400945b5
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x14013c600]
call fcn.140041500
jmp 0x1400945ba
mov rbx, r15
jmp 0x140094570
mov qword [rsp + 0x68], r14
test r14, r14
je 0x1400945eb
lea rcx, [r14 + 0x110]
call fcn.1400471b0
nop
lea rcx, [r14 + 0x108]
call fcn.1400471b0
mov edx, 0x118
mov rcx, r14
call fcn.14005f164
nop
jmp 0x1400945f6
lea rcx, [0x14013c600]
call fcn.1400414e0
cmp rdi, 0xffffffffffffffff
je 0x140094611
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14005f0d0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x1400957f0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x450
mov rax, qword [0x1401385c0]
xor rax, rsp
mov qword [rsp + 0x440], rax
xor edi, edi
mov rsi, r9
mov r14, r8
mov rbx, rdx
mov rbp, rcx
test rcx, rcx
je 0x140095908
test rdx, rdx
je 0x140095908
test r9, r9
je 0x140095908
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x400
call fcn.140060ef0
lea rdx, [rsp + 0x40]
sub rdx, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx]
mov byte [rdx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x140095860
lea rax, [rsp + 0x38]
mov qword [rsp + 0x38], rdi
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140095908
mov eax, dword [rsp + 0x4a8]
mov dword [rsp + 0x30], edi
sub eax, 1
je 0x1400958b2
sub eax, 3
je 0x1400958fe
cmp eax, 3
jne 0x1400958bd
mov eax, dword [rsp + 0x4a0]
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x4a8]
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov ecx, 1
cmove edi, ecx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
jmp 0x14009590a
mov dword [rsp + 0x30], 4
jmp 0x1400958bd
xor eax, eax
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.14005f0d0
add rsp, 0x450
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140095e10
Capabilities:
Get file size
Read file on windows

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov qword [rax - 0x48], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
mov r15, rdx
or r14, 0xffffffffffffffff
mov qword [rax - 0x60], r14
xor r13d, r13d
mov esi, r13d
mov qword [rax - 0x58], r13
mov r12d, r13d
mov qword [rax - 0x50], r13
test rdx, rdx
je 0x140096092
cmp byte [rdx], sil
je 0x140096092
lea rcx, [0x14013c600]
call fcn.140040fe0
nop
lea rdx, [0x14013c600]
lea rcx, [rsp + 0x68]
call fcn.140040cf0
nop
lea rcx, [rsp + 0x68]
call fcn.140041450
mov r9, rax
test rax, rax
je 0x140095ec3
mov r8, r15
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140095eb3
inc rax
test ecx, ecx
jne 0x140095ea0
test edx, edx
jne 0x140095ec1
mov rsi, r9
mov qword [rsp + 0x50], r9
jmp 0x140095ec3
jmp 0x140095e80
test rsi, rsi
jne 0x14009603c
mov ebx, r13d
mov dword [rsp + 0x40], ebx
cmp ebx, 0x32
jge 0x140095f25
cmp r14, 0xffffffffffffffff
jne 0x140095f2f
test ebx, ebx
jle 0x140095eec
lea ecx, [r14 + 0x15]
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, r15
call fcn.140094750
mov r14, rax
mov qword [rsp + 0x48], rax
jmp 0x140095ed3
cmp r14, 0xffffffffffffffff
je 0x14009603c
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
lea ecx, [rax + 1]
mov ebx, ecx
call fcn.14005f15c
mov r12, rax
mov qword [rsp + 0x58], rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.140060ef0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xb8]
mov r8d, edi
mov rdx, r12
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14009602a
mov ecx, 0x118
call fcn.14005f120
mov rsi, rax
mov qword [rsp + 0xc0], rax
test rax, rax
je 0x140095fd8
xor edx, edx
mov r8d, 0x118
mov rcx, rax
call fcn.140060ef0
mov rax, qword [0x1401380e0]
mov qword [rsi + 0x108], rax
mov rax, qword [0x1401380e0]
mov qword [rsi + 0x110], rax
jmp 0x140095fdb
mov rsi, r13
mov qword [rsp + 0x50], rsi
mov r8d, 0x103
mov rdx, r15
mov rcx, rsi
call fcn.14006a380
lea rcx, [rsi + 0x108]
mov rdx, r12
call fcn.1400472e0
mov rdx, r12
lea rcx, [rsi + 0x110]
call fcn.1400472e0
lea rcx, [rsi + 0x110]
call fcn.1400484d0
mov rdx, rsi
lea rcx, [0x14013c600]
call fcn.140040f20
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or r14, 0xffffffffffffffff
mov qword [rsp + 0x48], r14
lea rcx, [rsp + 0x68]
call fcn.140040d90
nop
jmp 0x140096058
test r12, r12
je 0x140096066
mov rcx, r12
call fcn.14005f164
nop
jmp 0x140096072
lea rcx, [0x14013c600]
call fcn.1400414e0
cmp r14, 0xffffffffffffffff
je 0x14009608d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, rsi
jmp 0x140096094
xor eax, eax
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x140096a70
Capabilities:
Delete registry value

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x60
lea rax, [r11 + 0x20]
mov rbx, r8
mov qword [r11 - 0x28], rax
xor r9d, r9d
lea rax, [r11 - 0x18]
xor r8d, r8d
mov qword [r11 - 0x30], rax
mov qword [r11 - 0x38], 0
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], 0
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x140096ad6
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov rcx, qword [rsp + 0x50]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
add rsp, 0x60
pop rbx
ret
xor eax, eax
add rsp, 0x60
pop rbx
ret

Function at 0x14009aae0
Capabilities:
Delete registry value

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rax - 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1401385c0]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r15d, r8d
mov rdi, rdx
mov r13, rcx
mov rax, qword [rdx + 8]
sub rax, qword [rdx]
test rax, 0xfffffffffffffffc
je 0x14009ac81
cmp r8d, 0xffffffff
jne 0x14009ab49
call fcn.14009b200
mov r15d, eax
cmp eax, 0xffffffff
jne 0x14009ab49
xor al, al
jmp 0x14009ac83
xor r12d, r12d
mov ebp, r12d
mov qword [rsp + 0x30], r12
lea rdx, [r13 + 0xb0]
cmp qword [rdx + 0x18], 0x10
jb 0x14009ab65
mov rdx, qword [rdx]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rcx, qword [r13 + 0x88]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov rsi, qword [rsp + 0x30]
test eax, eax
je 0x14009aba8
test rsi, rsi
je 0x14009ac81
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, r12
mov qword [rsp + 0x30], r12
test rsi, rsi
je 0x14009ac81
mov rbx, qword [rdi]
mov rdi, qword [rdi + 8]
cmp rbx, rdi
je 0x14009ac69
mov edx, dword [rbx]
lea rcx, [rsp + 0x40]
call fcn.1400a3f80
nop
cmp qword [rax + 0x18], 0x10
jb 0x14009abd8
mov rax, qword [rax]
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
test eax, eax
sete r14b
mov rax, qword [rsp + 0x58]
cmp rax, 0x10
jb 0x14009ac2a
mov rcx, qword [rsp + 0x40]
inc rax
cmp rax, 0x1000
jb 0x14009ac25
test cl, 0x1f
jne 0x14009ac63
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x14009ac5d
sub rcx, rax
cmp rcx, 8
jb 0x14009ac57
cmp rcx, 0x27
ja 0x14009ac51
mov rcx, rax
call fcn.14005ed1c
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], r12
mov byte [rsp + 0x40], 0
lea eax, [rbp + 1]
test r14b, r14b
cmove eax, ebp
mov ebp, eax
add rbx, 4
jmp 0x14009abb8
call fcn.140069e64
int3
call fcn.140069e64
int3
call fcn.140069e64
int3
call fcn.140069e64
int3
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebp, ebp
jle 0x14009ac81
mov edx, r15d
mov rcx, r13
call fcn.14009d110
mov al, 1
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14005f0d0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret