joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800b5da0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0x40
mov rbx, r8
lea r8, [rsp + 0x38]
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x68], 0
mov qword [rsp + 0x38], 0
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x1800b5e11
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x34], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
lea r9, [rsp + 0x34]
xor r8d, r8d
mov rdx, rbx
mov dword [rsp + 0x30], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [rsp + 0x68]
add rsp, 0x40
pop rbx
ret
Function at 0x1800b8870
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rdi
push r12
push r13
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x80], rsi
mov rdi, rcx
cmp qword [rcx + 0x60], 0
jle 0x1800b88a9
mov eax, 1
jmp 0x1800b8ab4
xor r13d, r13d
mov r12d, r13d
cmp qword [rcx + 0x28], r13
je 0x1800b8a86
cmp qword [rcx + 0x38], r13
jne 0x1800b8919
lea rcx, [rsp + 0x28]
call fcn.18006a6e8
nop
lea r8, [rsp + 0x28]
mov rdx, qword [rdi + 0x28]
mov rcx, rdi
call fcn.1800b8770
mov r11, qword [rsp + 0x38]
test r11, r11
je 0x1800b890a
jle 0x1800b8904
mov rdx, qword [rsp + 0x30]
mov rdx, qword [rdx]
mov rcx, rdi
call fcn.1800b82f0
nop
lea rcx, [rsp + 0x28]
call fcn.18006a708
jmp 0x1800b8919
call fcn.1800329e8
nop
lea rcx, [rsp + 0x28]
call fcn.18006a708
jmp 0x1800b8a91
mov esi, 0xffff
cmp word [rdi + 0x48], si
jne 0x1800b89f8
lea rcx, [rsp + 0x28]
call fcn.180111f48
nop
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1800b8160
mov r11, qword [rsp + 0x38]
test r11, r11
je 0x1800b89e9
mov r9d, r13d
mov r8, r13
mov r10, qword [rsp + 0x30]
jle 0x1800b89c2
mov ebx, 0x3ff
test r8, r8
js 0x1800b89bc
cmp r8, r11
jge 0x1800b89bc
movzx ecx, word [r10 + r8*2]
movzx eax, cx
and ax, bx
cmp ax, 9
jne 0x1800b898d
movzx edx, word [rdi + 0x48]
movzx eax, dx
and ax, bx
cmp ax, 9
jne 0x1800b89a8
jmp 0x1800b89a3
cmp ax, 4
jne 0x1800b89ac
movzx edx, word [rdi + 0x48]
movzx eax, dx
and ax, bx
cmp ax, 9
je 0x1800b89ac
cmp dx, cx
jae 0x1800b89ac
mov word [rdi + 0x48], cx
inc r9d
inc r8
movsxd rax, r9d
cmp rax, r11
jl 0x1800b8960
jmp 0x1800b89c2
call fcn.1800329e8
int3
cmp word [rdi + 0x48], si
jne 0x1800b89dd
test r11, r11
jle 0x1800b89d7
movzx eax, word [r10]
mov word [rdi + 0x48], ax
jmp 0x1800b89dd
call fcn.1800329e8
nop
lea rcx, [rsp + 0x28]
call fcn.180111f68
jmp 0x1800b89f8
lea rcx, [rsp + 0x28]
call fcn.180111f68
jmp 0x1800b8a91
mov rcx, rdi
call fcn.1800b8060
mov rbx, rax
test rax, rax
je 0x1800b8a91
movzx r9d, word [rdi + 0x48]
mov r8, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x28]
mov rcx, qword [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
mov rsi, rax
test rax, rax
je 0x1800b8a91
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebp, eax
test eax, eax
je 0x1800b8a91
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov r12, rax
test rax, rax
je 0x1800b8a91
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
test rax, rax
je 0x1800b8a91
lea rcx, [rdi + 0x50]
or r8, 0xffffffffffffffff
mov edx, ebp
call fcn.18005e448
mov r8d, ebp
mov rdx, rsi
mov rcx, qword [rdi + 0x58]
call fcn.18007e510
mov qword [rdi + 0x20], r12
jmp 0x1800b8aa8
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rdi + 8], eax
test r12, r12
je 0x1800b8aa8
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeResource]
cmp qword [rdi + 0x60], 0
setg r13b
mov eax, r13d
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r13
pop r12
pop rdi
ret
Function at 0x1800bae10
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x240
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rbx, rcx
mov rbp, r8
mov esi, edx
lea rcx, [rsp + 0x22]
xor edi, edi
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], di
call fcn.18007ead0
lea rdx, [rsp + 0x20]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x1800bae7a
lea r8, [rsp + 0x20]
mov r9, rbp
mov edx, esi
mov rcx, rbx
call fcn.1800bab40
jmp 0x1800bae80
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bae96
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test ebx, ebx
sete dil
mov eax, edi
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.18007e1e0
mov rbx, qword [rsp + 0x278]
add rsp, 0x240
pop rdi
pop rsi
pop rbp
ret
jmp 0x1800bae10

Function at 0x1800baec0
Capabilities:
Get common file path

Disassembly:
sub rsp, 0x148
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x130], rax
lea rcx, [rsp + 0x21]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x20], 0
call fcn.18007ead0
lea rcx, [rsp + 0x20]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x148
ret

Function at 0x1800baf20
Capabilities:
Get common file path

Disassembly:
sub rsp, 0x248
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x230], rax
xor eax, eax
lea rcx, [rsp + 0x22]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], ax
call fcn.18007ead0
lea rcx, [rsp + 0x20]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
movzx eax, word [rsp + 0x20]
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x248
ret

Function at 0x1800baf80
Capabilities:
Get common file path

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x140
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rbx, rcx
mov rsi, r8
mov edi, edx
lea rcx, [rsp + 0x21]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x20], 0
call fcn.18007ead0
lea rcx, [rsp + 0x20]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x1800baffb
lea rcx, [rsp + 0x20]
mov edx, VarDateFromDisp
call fcn.18007fcc4
test rax, rax
je 0x1800bafe7
mov byte [rax], 0
lea r8, [rsp + 0x20]
mov r9, rsi
mov edx, edi
mov rcx, rbx
call fcn.1800baaa0
jmp 0x1800bb001
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bb015
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
test ebx, ebx
sete al
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x140
pop rdi
pop rsi
pop rbx
ret
Function at 0x1800bb040
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x240
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rbx, rcx
mov rbp, r8
mov esi, edx
lea rcx, [rsp + 0x22]
xor edi, edi
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], di
call fcn.18007ead0
lea rcx, [rsp + 0x20]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1800bb0bf
lea edx, [rdi + 0x5c]
lea rcx, [rsp + 0x20]
call fcn.18007e844
test rax, rax
je 0x1800bb0ab
mov word [rax], di
lea r8, [rsp + 0x20]
mov r9, rbp
mov edx, esi
mov rcx, rbx
call fcn.1800bab40
jmp 0x1800bb0c5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bb0db
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test ebx, ebx
sete dil
mov eax, edi
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.18007e1e0
mov rbx, qword [rsp + 0x278]
add rsp, 0x240
pop rdi
pop rsi
pop rbp
ret

Function at 0x1800bb110
Capabilities:
Get common file path

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x140
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rbx, rcx
mov rsi, r8
mov edi, edx
lea rcx, [rsp + 0x21]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x20], 0
call fcn.18007ead0
lea rcx, [rsp + 0x20]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x1800bb174
lea r8, [rsp + 0x20]
mov r9, rsi
mov edx, edi
mov rcx, rbx
call fcn.1800baaa0
jmp 0x1800bb17a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bb18e
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
test ebx, ebx
sete al
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x140
pop rdi
pop rsi
pop rbx
ret

Function at 0x1800bb1b0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x240
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rbx, rcx
mov rbp, r8
mov esi, edx
lea rcx, [rsp + 0x22]
xor edi, edi
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], di
call fcn.18007ead0
lea rcx, [rsp + 0x20]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1800bb21a
lea r8, [rsp + 0x20]
mov r9, rbp
mov edx, esi
mov rcx, rbx
call fcn.1800bab40
jmp 0x1800bb220
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bb236
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test ebx, ebx
sete dil
mov eax, edi
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.18007e1e0
mov rbx, qword [rsp + 0x278]
add rsp, 0x240
pop rdi
pop rsi
pop rbp
ret
Function at 0x1800bb330
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
sub rsp, 0x240
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rbp, r8
mov esi, edx
mov rbx, rcx
call fcn.1800d0860
test eax, eax
je 0x1800bb370
mov r8, rbp
mov edx, esi
mov rcx, rbx
call fcn.1800bb1b0
jmp 0x1800bb3fa
mov qword [rsp + 0x278], rdi
lea rcx, [rsp + 0x22]
xor edi, edi
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], di
call fcn.18007ead0
lea rcx, [rsp + 0x20]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1800bb3d0
lea rdx, [0x18012b270]
lea rcx, [rsp + 0x20]
mov r8d, 0x103
call fcn.180113594
lea r8, [rsp + 0x20]
mov r9, rbp
mov edx, esi
mov rcx, rbx
call fcn.1800bab40
jmp 0x1800bb3d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bb3ec
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test ebx, ebx
sete dil
mov eax, edi
mov rdi, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x240
pop rsi
pop rbp
pop rbx
ret
jmp 0x1800bb330

Function at 0x1800bb5b0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x170
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rsi, rcx
mov r12, r8
mov ebp, edx
lea rcx, [rsp + 0x51]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x50], 0
call fcn.18007ead0
xor ebx, ebx
lea r8, [rsp + 0x38]
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersion
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], 0x104
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x38], rbx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x1800bb68e
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
lea rdx, str.CommonFilesDir
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x38]
mov edi, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
jne 0x1800bb68e
xor eax, eax
or rcx, 0xffffffffffffffff
mov byte [rsp + 0x153], bl
lea rdi, [rsp + 0x50]
repne scasb al, byte [rdi]
not rcx
sub ecx, 2
movsxd rdx, ecx
movzx eax, byte [rsp + rdx + 0x50]
cmp byte [rsp + rdx + 0x50], 0x5c
cmove eax, ebx
mov byte [rsp + rdx + 0x50], al
jmp 0x1800bb6d9
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, 0x104
call fcn.18007ead0
mov eax, dword [0x18014b8c8]
movups xmm0, xmmword [0x18014b8b0]
movsd xmm1, qword [0x18014b8c0]
mov dword [rsp + 0x68], eax
movzx eax, word [reloc.WS2_32.dll_WSAStartup]
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rsp + 0x60], xmm1
mov word [rsp + 0x6c], ax
call fcn.1800baec0
mov byte [rsp + 0x50], al
lea r8, [rsp + 0x50]
mov r9, r12
mov edx, ebp
mov rcx, rsi
call fcn.1800baaa0
mov edi, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bb6ff
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x170
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1800bb730
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x270
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rsi, rcx
mov r12, r8
mov ebp, edx
lea rcx, [rsp + 0x52]
xor ebx, ebx
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x50], bx
call fcn.18007ead0
lea r8, [rsp + 0x38]
lea rdx, [0x18012b7d0]
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], 0x208
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x38], rbx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x1800bb80c
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
lea rdx, [0x18012b7a8]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x38]
mov edi, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
jne 0x1800bb80c
xor eax, eax
or rcx, 0xffffffffffffffff
mov word [rsp + 0x256], bx
lea rdi, [rsp + 0x50]
repne scasw ax, word [rdi]
not rcx
lea rax, [rcx - 2]
cdqe
cmp word [rsp + rax*2 + 0x50], 0x5c
jne 0x1800bb84c
mov word [rsp + rax*2 + 0x50], bx
jmp 0x1800bb84c
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, 0x208
call fcn.18007ead0
mov rcx, rbx
lea rdx, str.c:program_filescommom_files
nop dword [rax + rax]
movzx eax, word [rcx + rdx]
add rcx, 2
mov word [rsp + rcx + 0x4e], ax
test ax, ax
jne 0x1800bb830
call fcn.1800baf20
mov word [rsp + 0x50], ax
lea r8, [rsp + 0x50]
mov r9, r12
mov edx, ebp
mov rcx, rsi
call fcn.1800bab40
mov edi, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bb872
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x270
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1800bba30
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rsi, rcx
mov r13, r8
mov r12d, edx
lea rcx, [rsp + 0x71]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x70], 0
call fcn.18007ead0
xor ebx, ebx
lea rax, [rsp + 0x54]
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersion
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x58]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x20119
mov dword [rsp + 0x60], 0x104
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x54], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x1800bbb41
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
lea rdx, str.CommonFilesDir
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x58]
mov edi, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
jne 0x1800bbb41
xor eax, eax
or rcx, 0xffffffffffffffff
mov byte [rbp + 0x73], bl
lea rdi, [rsp + 0x70]
repne scasb al, byte [rdi]
not rcx
sub ecx, 2
movsxd rdx, ecx
movzx eax, byte [rsp + rdx + 0x70]
cmp byte [rsp + rdx + 0x70], 0x5c
cmove eax, ebx
mov byte [rsp + rdx + 0x70], al
jmp 0x1800bbb89
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8d, 0x104
call fcn.18007ead0
mov eax, dword [0x18014b8c8]
movups xmm0, xmmword [0x18014b8b0]
movsd xmm1, qword [0x18014b8c0]
mov dword [rbp - 0x78], eax
movzx eax, word [reloc.WS2_32.dll_WSAStartup]
movaps xmmword [rsp + 0x70], xmm0
movsd qword [rbp - 0x80], xmm1
mov word [rbp - 0x74], ax
call fcn.1800baec0
mov byte [rsp + 0x70], al
lea r8, [rsp + 0x70]
mov r9, r13
mov edx, r12d
mov rcx, rsi
call fcn.1800baaa0
mov edi, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bbbb0
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.18007e1e0
mov rbx, qword [rsp + 0x1d8]
add rsp, 0x190
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1800bbbe0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x290
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rsi, rcx
mov r12, r8
mov ebp, edx
lea rcx, [rsp + 0x72]
xor ebx, ebx
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x70], bx
call fcn.18007ead0
lea rax, [rsp + 0x54]
lea rdx, [0x18012b7d0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x20119
mov dword [rsp + 0x60], 0x208
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x54], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1800bbce6
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
lea rdx, [0x18012b7a8]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x58]
mov edi, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
jne 0x1800bbce6
xor eax, eax
or rcx, 0xffffffffffffffff
mov word [rsp + 0x276], bx
lea rdi, [rsp + 0x70]
repne scasw ax, word [rdi]
not rcx
lea rax, [rcx - 2]
cdqe
cmp word [rsp + rax*2 + 0x70], 0x5c
jne 0x1800bbd2c
mov word [rsp + rax*2 + 0x70], bx
jmp 0x1800bbd2c
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8d, 0x208
call fcn.18007ead0
mov rcx, rbx
lea rdx, str.c:program_filescommom_files
nop word [rax + rax]
movzx eax, word [rcx + rdx]
add rcx, 2
mov word [rsp + rcx + 0x6e], ax
test ax, ax
jne 0x1800bbd10
call fcn.1800baf20
mov word [rsp + 0x70], ax
lea r8, [rsp + 0x70]
mov r9, r12
mov edx, ebp
mov rcx, rsi
call fcn.1800bab40
mov edi, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bbd52
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x290
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1800bbf10
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x190
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x180], rax
mov rsi, rcx
mov r12, r8
mov ebp, edx
lea rcx, [rsp + 0x71]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x70], 0
call fcn.18007ead0
xor ebx, ebx
lea rax, [rsp + 0x54]
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersion
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x58]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x20219
mov dword [rsp + 0x60], 0x104
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x54], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x1800bc018
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
lea rdx, str.CommonFilesDir
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x58]
mov edi, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
jne 0x1800bc018
xor eax, eax
or rcx, 0xffffffffffffffff
mov byte [rsp + 0x173], bl
lea rdi, [rsp + 0x70]
repne scasb al, byte [rdi]
not rcx
sub ecx, 2
movsxd rdx, ecx
movzx eax, byte [rsp + rdx + 0x70]
cmp byte [rsp + rdx + 0x70], 0x5c
cmove eax, ebx
mov byte [rsp + rdx + 0x70], al
jmp 0x1800bc05b
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8d, 0x104
call fcn.18007ead0
mov eax, dword [0x18014b978]
movups xmm0, xmmword [0x18014b958]
movups xmm1, xmmword [0x18014b968]
mov dword [rsp + 0x90], eax
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm1
call fcn.1800baec0
mov byte [rsp + 0x70], al
lea r8, [rsp + 0x70]
mov r9, r12
mov edx, ebp
mov rcx, rsi
call fcn.1800baaa0
mov edi, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bc081
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x190
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1800bc0b0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x290
mov rax, qword [0x1801903f8]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rsi, rcx
mov r12, r8
mov ebp, edx
lea rcx, [rsp + 0x72]
xor ebx, ebx
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x70], bx
call fcn.18007ead0
lea rax, [rsp + 0x54]
lea rdx, [0x18012b7d0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x20219
mov dword [rsp + 0x60], 0x208
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x54], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1800bc1b6
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x60]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
lea rdx, [0x18012b7a8]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x58]
mov edi, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
jne 0x1800bc1b6
xor eax, eax
or rcx, 0xffffffffffffffff
mov word [rsp + 0x276], bx
lea rdi, [rsp + 0x70]
repne scasw ax, word [rdi]
not rcx
lea rax, [rcx - 2]
cdqe
cmp word [rsp + rax*2 + 0x70], 0x5c
jne 0x1800bc1fc
mov word [rsp + rax*2 + 0x70], bx
jmp 0x1800bc1fc
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8d, 0x208
call fcn.18007ead0
mov rcx, rbx
lea rdx, str.c:program_files__x86_commom_files
nop word [rax + rax]
movzx eax, word [rcx + rdx]
add rcx, 2
mov word [rsp + rcx + 0x6e], ax
test ax, ax
jne 0x1800bc1e0
call fcn.1800baf20
mov word [rsp + 0x70], ax
lea r8, [rsp + 0x70]
mov r9, r12
mov edx, ebp
mov rcx, rsi
call fcn.1800bab40
mov edi, eax
mov dword [0x1801b0670], eax
test eax, eax
je 0x1800bc222
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.18007e1e0
add rsp, 0x290
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
jne 0x1800bcae9
lea ecx, [rbx + 0x57]
mov dword [0x1801b0670], 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
add rsp, 0x20
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x1800bcb26
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1800bcb26
test al, 0x10
jne 0x1800bcb26
test al, 1
je 0x1800bcae1
and eax, 0xfffffffe
mov rcx, rbx
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, 1
add rsp, 0x20
pop rbx
ret