joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14011bcd0
Capabilities:
Get geographical location

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rsi, rdx
mov rdi, r8
mov dword [rbx + 0x178], 0xffffffff
mov dword [rbx + 0x17c], 0xffffffff
mov dword [rbx + 0x180], 0xffffffff
lea rcx, [rbx + 8]
mov rdx, rsi
call fcn.140003fe0
lea rcx, [rbx + 0x90]
mov rdx, rdi
call fcn.140003fe0
mov rcx, qword [rbx + 0x90]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r8d, eax
mov rdx, rsi
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp fcn.14011bd40

Function at 0x14011c420
Capabilities:
Get geographical location

Disassembly:
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x28
mov rbx, rcx
mov rsi, rdx
cmp byte [rbx + 0x184], 0
jne 0x14011c5d2
test rsi, rsi
je 0x14011c5f8
cmp rsi, qword [rbx + 0x90]
jne 0x14011c456
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
ret
xor edi, edi
jmp 0x14011c4a5
mov rax, qword [rbx + 0x148]
test rax, rax
jne 0x14011c486
mov rcx, qword [rbx + 8]
cmp dword [rcx], ecx
call fcn.140116d40
mov rbp, rax
lea rcx, [rbx + 0x148]
mov rdx, rbp
call fcn.140003fe0
mov rax, rbp
cmp edi, dword [rax + 8]
jae 0x14011c636
mov ecx, edi
movzx ebp, word [rax + rcx*2 + 0x10]
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + 0x40]
cmp eax, ebp
je 0x14011c4df
inc edi
mov rax, qword [rbx + 0x148]
test rax, rax
jne 0x14011c4d1
mov rcx, qword [rbx + 8]
cmp dword [rcx], ecx
call fcn.140116d40
mov rbp, rax
lea rcx, [rbx + 0x148]
mov rdx, rbp
call fcn.140003fe0
mov rax, rbp
cmp dword [rax + 8], edi
jle 0x14011c605
jmp 0x14011c45a
cmp qword [rbx + 0x90], 0
je 0x14011c59c
xor ecx, ecx
mov qword [rbx + 0x130], rcx
mov qword [rbx + 0x138], rcx
mov qword [rbx + 0x140], rcx
mov qword [rbx + 0x60], rcx
mov qword [rbx + 0xb0], rcx
mov qword [rbx + 0xa0], rcx
mov qword [rbx + 0xa8], rcx
mov qword [rbx + 0xc0], rcx
mov qword [rbx + 0xb8], rcx
mov qword [rbx + 0xc8], rcx
mov qword [rbx + 0xd0], rcx
mov qword [rbx + 0xd8], rcx
mov dword [rbx + 0x180], 0xffffffff
mov qword [rbx + 0x110], rcx
mov qword [rbx + 0x118], rcx
mov qword [rbx + 0x108], rcx
mov qword [rbx + 0x68], rcx
mov qword [rbx + 0xe0], rcx
mov qword [rbx + 0xe8], rcx
mov qword [rbx + 0xf0], rcx
mov qword [rbx + 0x98], rcx
mov qword [rbx + 0x48], rcx
mov qword [rbx + 0x50], rcx
mov qword [rbx + 0x40], rcx
mov qword [rbx + 0x170], rcx
mov dword [rbx + 0x180], 0xffffffff
lea rcx, [rbx + 0x90]
mov rdx, rsi
call fcn.140003fe0
mov rsi, qword [rbx + 8]
mov rcx, qword [rbx + 0x90]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r8d, eax
mov rdx, rsi
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
jmp fcn.14011bd40
lea rcx, [0x140281380]
call fcn.140003dd0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14024e008]
call fcn.1400fc0b0
mov rcx, rbx
call fcn.140004350
lea rcx, [0x140265380]
call fcn.1400f0ce0
int3
lea rcx, [0x14027f8c0]
call fcn.140003dd0
mov rbx, rax
mov rcx, rbx
mov r8, rsi
lea rdx, [0x140265380]
lea r9, [0x140251050]
call fcn.1400f0dc0
mov rcx, rbx
call fcn.140004350
int3
call fcn.140192840
int3
Function at 0x1401888a0
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x40]
xorps xmm4, xmm4
movaps xmmword [rbp + 0x70], xmm4
xor eax, eax
mov qword [rbp + 0x80], rax
mov rax, qword [0x14043d380]
mov qword [rbp + 0x50], rax
mov rsi, rcx
mov rbx, rdx
mov edi, dword [rbx + 8]
shl edi, 2
cmp edi, 0x400
jge 0x140188932
mov edx, edi
mov r14, rdx
test r14, r14
je 0x140188928
mov rcx, r14
add rcx, 0xf
and rcx, 0xfffffffffffffff0
add rsp, 0x40
neg rcx
add rcx, rsp
jb 0x14018890a
xor ecx, ecx
test dword [rsp], esp
sub rsp, 0x1000
cmp rsp, rcx
jae 0x14018890a
mov rsp, rcx
test dword [rsp], esp
sub rsp, 0x40
lea r14, [rsp + 0x40]
test edi, edi
jl 0x140188aa4
jmp 0x140188948
movsxd rdx, edi
lea rcx, [0x1402def38]
call fcn.140003ef0
lea r14, [rax + 0x10]
mov edi, dword [rax + 8]
mov qword [rbp + 0x58], r14
mov qword [rbp + 0xd8], rbx
lea rcx, [rbx + 0xc]
mov qword [rbp + 0x80], rcx
mov r15, qword [rbp + 0x80]
xor r13d, r13d
test edi, edi
cmovne r13, r14
mov qword [rbp + 0x60], r13
mov qword [rbp + 0x78], r13
lea rcx, [rbp]
call fcn.140004f00
call sub.KERNEL32.dll_GetConsoleOutputCP
mov ebx, eax
lea rcx, [rbp]
call fcn.140004f50
mov ecx, ebx
mov r8, r15
mov rbx, qword [rbp + 0xd8]
mov r9d, dword [rbx + 8]
mov r13, qword [rbp + 0x60]
mov rdx, r13
mov dword [rsp + 0x28], edi
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov dword [rbp + 0x4c], ecx
mov qword [rbp + 0x3c], r8
mov dword [rbp + 0x48], r9d
mov qword [rsp + 0x20], rdx
xor edx, edx
mov dword [rbp + 0x44], edx
lea rcx, [rbp]
call fcn.140004f00
mov ecx, dword [rbp + 0x4c]
mov r8, qword [rbp + 0x3c]
mov r9d, dword [rbp + 0x48]
mov edx, dword [rbp + 0x44]
call sub.KERNEL32.dll_WideCharToMultiByte
mov ebx, eax
lea rcx, [rbp]
call fcn.140004f50
xor ecx, ecx
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x80], rcx
test edi, edi
cmovne rcx, qword [rbp + 0x58]
mov qword [rbp + 0x70], rcx
mov rdi, rcx
lea r14, [rbp + 0x6c]
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
xor ecx, ecx
mov qword [rsp + 0x20], rcx
mov rcx, rsi
mov qword [rbp + 0x3c], rcx
mov rdx, rdi
mov qword [rbp + 0x34], rdx
mov r8d, ebx
mov dword [rbp + 0x44], r8d
mov r9, r14
mov qword [rbp + 0x2c], r9
lea rcx, [rbp]
call fcn.140004f00
mov rcx, qword [rbp + 0x3c]
mov rdx, qword [rbp + 0x34]
mov r8d, dword [rbp + 0x44]
mov r9, qword [rbp + 0x2c]
call sub.KERNEL32.dll_WriteFile
lea rcx, [rbp]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
call fcn.14000271a
mov dword [rax + 0xc8], ebx
xor eax, eax
mov qword [rbp + 0x70], rax
lea rcx, [0x14043d380]
mov rcx, qword [rcx]
cmp qword [rbp + 0x50], rcx
je 0x140188a8f
call fcn.1400052d0
nop
lea rsp, [rbp + 0x88]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140103f10
int3
Function at 0x140192c50
Capabilities:
Get geographical location

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
xor eax, eax
mov qword [rbp - 0x40], rax
test rcx, rcx
je 0x140192c79
add rcx, 0xc
jmp 0x140192c7b
xor ecx, ecx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x44], edx
mov qword [rbp - 0x58], r8
mov dword [rbp - 0x48], r9d
lea rcx, [rbp - 0x80]
call fcn.140004f00
mov rcx, qword [rbp - 0x50]
mov edx, dword [rbp - 0x44]
mov r8, qword [rbp - 0x58]
mov r9d, dword [rbp - 0x48]
call sub.KERNEL32.dll_GetLocaleInfoEx
mov ebx, eax
lea rcx, [rbp - 0x80]
call fcn.140004f50
mov eax, ebx
xor ecx, ecx
mov qword [rbp - 0x40], rcx
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140192fb0
Capabilities:
Create directory

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov rbx, rdx
test rcx, rcx
je 0x140192fdf
add rcx, 0xc
mov rsi, rcx
jmp 0x140192fe1
xor esi, esi
mov qword [rbp - 0x40], rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rsi
mov qword [rbp - 0x48], rcx
mov rdx, rbx
mov qword [rbp - 0x50], rdx
lea rcx, [rbp - 0x78]
call fcn.140004f00
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
call sub.KERNEL32.dll_CreateDirectoryW
mov ebx, eax
lea rcx, [rbp - 0x78]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
test ebx, ebx
setne bl
movzx ebx, bl
call fcn.14000271a
mov dword [rax + 0xc8], esi
movzx eax, bl
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1401934c0
Capabilities:
Delete file

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x90]
xor eax, eax
mov qword [rbp - 0x40], rax
test rcx, rcx
je 0x1401934ec
add rcx, 0xc
mov rbx, rcx
jmp 0x1401934ee
xor ebx, ebx
mov qword [rbp - 0x40], rbx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rbx
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x70]
call fcn.140004f00
mov rcx, qword [rbp - 0x48]
call sub.KERNEL32.dll_DeleteFileW
mov ebx, eax
lea rcx, [rbp - 0x70]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
test ebx, ebx
setne bl
movzx ebx, bl
call fcn.14000271a
mov dword [rax + 0xc8], esi
movzx eax, bl
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140193da0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov ebx, ecx
mov qword [rbp - 0x40], rdx
mov rsi, rdx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov ecx, ebx
mov dword [rbp - 0x44], ecx
mov rdx, rsi
mov qword [rbp - 0x4c], rdx
lea rcx, [rbp - 0x78]
call fcn.140004f00
mov ecx, dword [rbp - 0x44]
mov rdx, qword [rbp - 0x4c]
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov ebx, eax
lea rcx, [rbp - 0x78]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.14000271a
mov dword [rax + 0xc8], esi
mov eax, ebx
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140194180
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov ebx, edx
mov qword [rbp - 0x40], rcx
mov rsi, rcx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rsi
mov qword [rbp - 0x4c], rcx
mov edx, ebx
mov dword [rbp - 0x44], edx
lea rcx, [rbp - 0x78]
call fcn.140004f00
mov rcx, qword [rbp - 0x4c]
mov edx, dword [rbp - 0x44]
call sub.KERNEL32.dll_GetSystemDirectoryW
mov ebx, eax
lea rcx, [rbp - 0x78]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.14000271a
mov dword [rax + 0xc8], esi
mov eax, ebx
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140194260
Capabilities:
Move file

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], rax
mov ebx, r8d
test rdx, rdx
je 0x1401942a3
add rdx, 0xc
mov qword [rbp - 0x40], rdx
mov rsi, rdx
test rcx, rcx
je 0x1401942a7
add rcx, 0xc
mov rdi, rcx
jmp 0x1401942a9
xor edx, edx
jmp 0x14019428e
xor edi, edi
mov qword [rbp - 0x48], rdi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rdi
mov qword [rbp - 0x54], rcx
mov rdx, rsi
mov qword [rbp - 0x5c], rdx
mov r8d, ebx
mov dword [rbp - 0x4c], r8d
lea rcx, [rbp - 0x88]
call fcn.140004f00
mov rcx, qword [rbp - 0x54]
mov rdx, qword [rbp - 0x5c]
mov r8d, dword [rbp - 0x4c]
call sub.KERNEL32.dll_MoveFileExW
mov ebx, eax
lea rcx, [rbp - 0x88]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
test ebx, ebx
setne bl
movzx ebx, bl
call fcn.14000271a
mov dword [rax + 0xc8], esi
movzx eax, bl
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1401946b0
Capabilities:
Delete directory

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x90]
xor eax, eax
mov qword [rbp - 0x40], rax
test rcx, rcx
je 0x1401946dc
add rcx, 0xc
mov rbx, rcx
jmp 0x1401946de
xor ebx, ebx
mov qword [rbp - 0x40], rbx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rbx
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x70]
call fcn.140004f00
mov rcx, qword [rbp - 0x48]
call sub.KERNEL32.dll_RemoveDirectoryW
mov ebx, eax
lea rcx, [rbp - 0x70]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
test ebx, ebx
setne bl
movzx ebx, bl
call fcn.14000271a
mov dword [rax + 0xc8], esi
movzx eax, bl
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140194750
Capabilities:
Set file attributes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov ebx, edx
test rcx, rcx
je 0x14019477e
add rcx, 0xc
mov rsi, rcx
jmp 0x140194780
xor esi, esi
mov qword [rbp - 0x40], rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rsi
mov qword [rbp - 0x4c], rcx
mov edx, ebx
mov dword [rbp - 0x44], edx
lea rcx, [rbp - 0x78]
call fcn.140004f00
mov rcx, qword [rbp - 0x4c]
mov edx, dword [rbp - 0x44]
call sub.KERNEL32.dll_SetFileAttributesW
mov ebx, eax
lea rcx, [rbp - 0x78]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
test ebx, ebx
setne bl
movzx ebx, bl
call fcn.14000271a
mov dword [rax + 0xc8], esi
movzx eax, bl
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140194b30
Capabilities:
Create thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov rbx, rcx
mov rsi, rdx
mov rdi, r8
mov r14, r9
mov r15, qword [rbp + 0x38]
xor ecx, ecx
mov dword [rbp - 0x3c], ecx
mov byte [rbp - 0x4c], 0
lea rcx, [0x14026d2a8]
call fcn.140235240
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], r15
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
mov r9, r14
mov ebx, dword [rbp + 0x30]
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x78], r9
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x28], r15
lea rcx, [rbp - 0xa0]
call fcn.140004f00
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
mov r9, qword [rbp - 0x78]
call sub.KERNEL32.dll_CreateThread
mov rbx, rax
lea rcx, [rbp - 0xa0]
call fcn.140004f50
nop
xor eax, eax
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x3c], 1
mov byte [rbp - 0x4c], 1
mov rax, qword [rbp - 0x58]
mov qword [rax + 8], rbx
mov rcx, rax
mov rax, rcx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140194c80
Capabilities:
Resume thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
xor eax, eax
mov qword [rbp - 0x48], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x48], rcx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.14016f540
mov rcx, qword [rbp - 0x48]
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x50], rcx
lea rcx, [rbp - 0x78]
call fcn.140004f00
mov rcx, qword [rbp - 0x50]
call sub.KERNEL32.dll_ResumeThread
mov ebx, eax
lea rcx, [rbp - 0x78]
call fcn.140004f50
nop
cmp byte [rbp - 0x40], 0
je 0x140194cf1
mov rcx, qword [rbp - 0x48]
cmp byte [rcx], cl
xor edx, edx
call fcn.14016f580
mov eax, ebx
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140195130
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0xc0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov rbx, rdx
mov esi, r8d
mov rdi, r9
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x48], rcx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.14016f540
mov rcx, qword [rbp - 0x48]
mov r14, qword [rcx + 8]
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x20], r15
mov rcx, r14
mov qword [rbp - 0x54], rcx
mov rdx, rbx
mov qword [rbp - 0x5c], rdx
mov r8d, esi
mov dword [rbp - 0x4c], r8d
mov r9, rdi
mov qword [rbp - 0x64], r9
lea rcx, [rbp - 0x90]
call fcn.140004f00
mov rcx, qword [rbp - 0x54]
mov rdx, qword [rbp - 0x5c]
mov r8d, dword [rbp - 0x4c]
mov r9, qword [rbp - 0x64]
call sub.KERNEL32.dll_WriteFile
mov ebx, eax
lea rcx, [rbp - 0x90]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
cmp byte [rbp - 0x40], 0
je 0x1401951ed
mov rcx, qword [rbp - 0x48]
cmp byte [rcx], cl
xor edx, edx
call fcn.14016f580
call fcn.14000271a
mov dword [rax + 0xc8], esi
mov eax, ebx
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140195250
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0xc0]
xorps xmm4, xmm4
movaps xmmword [rbp - 0x50], xmm4
xor eax, eax
mov qword [rbp - 0x40], rax
mov rsi, rdx
mov edi, r8d
mov rbx, r9
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x48], rcx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.14016f540
nop
mov qword [rbp - 0x50], rbx
mov rcx, qword [rbp - 0x48]
mov r14, qword [rcx + 8]
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x20], r15
mov rcx, r14
mov qword [rbp - 0x5c], rcx
mov rdx, rsi
mov qword [rbp - 0x64], rdx
mov r8d, edi
mov dword [rbp - 0x54], r8d
mov r9, rbx
mov qword [rbp - 0x6c], r9
lea rcx, [rbp - 0x98]
call fcn.140004f00
mov rcx, qword [rbp - 0x5c]
mov rdx, qword [rbp - 0x64]
mov r8d, dword [rbp - 0x54]
mov r9, qword [rbp - 0x6c]
call sub.KERNEL32.dll_WriteFile
mov ebx, eax
lea rcx, [rbp - 0x98]
call fcn.140004f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor ecx, ecx
mov qword [rbp - 0x50], rcx
cmp byte [rbp - 0x40], 0
je 0x14019531f
mov rcx, qword [rbp - 0x48]
cmp byte [rcx], cl
xor edx, edx
call fcn.14016f580
call fcn.14000271a
mov dword [rax + 0xc8], esi
mov eax, ebx
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140196830
Capabilities:
Query or enumerate registry key

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x100]
xor eax, eax
mov qword [rbp - 0x78], rax
xorps xmm4, xmm4
movaps xmmword [rbp - 0x70], xmm4
movaps xmmword [rbp - 0x60], xmm4
movaps xmmword [rbp - 0x50], xmm4
mov qword [rbp - 0x40], rax
mov edi, edx
mov rbx, r8
mov rsi, r9
mov r14, qword [rbp + 0x30]
mov r15, qword [rbp + 0x38]
mov r13, qword [rbp + 0x40]
mov r12, qword [rbp + 0x48]
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x48], rcx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.14016f540
nop
lea rcx, [r12 + 0x10]
xor edx, edx
test r12, r12
cmove rcx, rdx
mov qword [rbp - 0x50], rcx
lea rdx, [r13 + 0x10]
xor r8d, r8d
test r13, r13
cmove rdx, r8
mov qword [rbp - 0x58], rdx
lea r8, [r15 + 0x10]
xor r9d, r9d
test r15, r15
cmove r8, r9
mov qword [rbp - 0x60], r8
lea r9, [r14 + 0x10]
xor eax, eax
test r14, r14
cmove r9, rax
mov qword [rbp - 0x68], r9
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x78], rbx
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rcx
mov rcx, qword [rax + 8]
mov qword [rbp - 0x84], rcx
mov edx, edi
mov dword [rbp - 0x7c], edx
mov r8, rbx
mov qword [rbp - 0x8c], r8
mov r9, rsi
mov qword [rbp - 0x94], r9
lea rcx, [rbp - 0xc0]
call fcn.140004f00
mov rcx, qword [rbp - 0x84]
mov edx, dword [rbp - 0x7c]
mov r8, qword [rbp - 0x8c]
mov r9, qword [rbp - 0x94]
call sub.ADVAPI32.dll_RegEnumKeyExW
mov ebx, eax
lea rcx, [rbp - 0xc0]
call fcn.140004f50
nop
xor ecx, ecx
mov qword [rbp - 0x78], rcx
xor ecx, ecx
mov qword [rbp - 0x70], rcx
xor ecx, ecx
mov qword [rbp - 0x68], rcx
xor ecx, ecx
mov qword [rbp - 0x60], rcx
xor ecx, ecx
mov qword [rbp - 0x58], rcx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
cmp byte [rbp - 0x40], 0
je 0x14019698d
mov rcx, qword [rbp - 0x48]
cmp byte [rcx], cl
xor edx, edx
call fcn.14016f580
mov eax, ebx
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140196ad0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x100]
xorps xmm4, xmm4
movaps xmmword [rbp - 0x70], xmm4
movaps xmmword [rbp - 0x60], xmm4
movaps xmmword [rbp - 0x50], xmm4
xor eax, eax
mov qword [rbp - 0x40], rax
mov edi, edx
mov rbx, r8
mov rsi, r9
mov r14, qword [rbp + 0x38]
mov r15, qword [rbp + 0x40]
mov r13, qword [rbp + 0x48]
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x48], rcx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.14016f540
nop
lea rcx, [r13 + 0x10]
xor edx, edx
test r13, r13
cmove rcx, rdx
mov qword [rbp - 0x50], rcx
lea rdx, [r15 + 0x10]
xor r8d, r8d
test r15, r15
cmove rdx, r8
mov qword [rbp - 0x58], rdx
lea r8, [r14 + 0x10]
xor r9d, r9d
test r14, r14
cmove r8, r9
mov qword [rbp - 0x60], r8
mov qword [rbp - 0x68], rsi
mov r9, rsi
lea rax, [rbx + 0x10]
xor r10d, r10d
test rbx, rbx
cmove rax, r10
mov qword [rbp - 0x70], rax
mov r10, qword [rbp - 0x48]
mov rbx, qword [rbp + 0x30]
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rcx
mov rcx, qword [r10 + 8]
mov qword [rbp - 0x7c], rcx
mov edx, edi
mov dword [rbp - 0x74], edx
mov r8, rax
mov qword [rbp - 0x84], r8
mov qword [rbp - 0x8c], r9
lea rcx, [rbp - 0xb8]
call fcn.140004f00
mov rcx, qword [rbp - 0x7c]
mov edx, dword [rbp - 0x74]
mov r8, qword [rbp - 0x84]
mov r9, qword [rbp - 0x8c]
call sub.ADVAPI32.dll_RegEnumValueW
mov ebx, eax
lea rcx, [rbp - 0xb8]
call fcn.140004f50
nop
xor ecx, ecx
mov qword [rbp - 0x70], rcx
xor ecx, ecx
mov qword [rbp - 0x68], rcx
xor ecx, ecx
mov qword [rbp - 0x60], rcx
xor ecx, ecx
mov qword [rbp - 0x58], rcx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
cmp byte [rbp - 0x40], 0
je 0x140196c19
mov rcx, qword [rbp - 0x48]
cmp byte [rcx], cl
xor edx, edx
call fcn.14016f580
mov eax, ebx
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140196ee0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xor eax, eax
mov qword [rbp - 0x48], rax
xor eax, eax
mov dword [rbp - 0x3c], eax
mov qword [rbp - 0x58], rax
mov byte [rbp - 0x50], 0
mov qword [rbp - 0x58], rcx
mov eax, dword [rcx + 0x10]
mov dword [rbp - 0x4c], eax
test al, 1
jne 0x140196f34
lea r10, [rcx + 0x10]
lea r11d, [rax + 4]
lock cmpxchg dword [r10], r11d
cmp eax, dword [rbp - 0x4c]
jne 0x140196f12
mov byte [rbp - 0x50], 1
jmp 0x140196f3a
call fcn.140104570
int3
test rdx, rdx
je 0x140196f45
add rdx, 0xc
jmp 0x140196f47
xor edx, edx
mov qword [rbp - 0x48], rdx
mov rcx, qword [rbp - 0x58]
mov rcx, qword [rcx + 8]
mov rax, qword [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x78], r9
lea rcx, [rbp - 0xa0]
call fcn.140004f00
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
mov r9, qword [rbp - 0x78]
call sub.ADVAPI32.dll_RegQueryValueExW
mov ebx, eax
lea rcx, [rbp - 0xa0]
call fcn.140004f50
mov dword [rbp - 0x3c], ebx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
mov rcx, rsp
call fcn.140196ff7
jmp 0x140196fcb
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [rbp - 0x3c]
jmp 0x140196fb7