joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180008e48
Capabilities:
Decode data using base64 via winapi

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbp
mov rbp, rsp
push rbx
push rdi
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x228
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.180009e0b
add rsp, 0x20
sub rsp, 0x20
lea rcx, str._tor_server_fp_
lea rdx, [rbp - 0x238]
mov r8, 0xf
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp + 0x20]
mov rdx, 0x14
lea r8, [rbp - 0x229]
call fcn.18000a323
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
lea r8, [rbp - 0x238]
lea r9, [rbp - 0x240]
call fcn.1800066ee
add rsp, 0x20
test rax, rax
je 0x18000904b
mov rdi, qword [rbp - 0x240]
mov qword [rbp - 0x248], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 0x248]
movabs r8, str.onion_key
call fcn.18000a204
add rsp, 0x20
test rax, rax
je 0x18000904b
sub rax, rdi
add rdi, rax
sub qword [rbp - 0x248], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 0x248]
movabs r8, str._____BEGIN_RSA_PUBLIC_KEY_____
call fcn.18000a204
add rsp, 0x20
test rax, rax
je 0x18000904b
sub rax, rdi
add rdi, rax
sub qword [rbp - 0x248], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 0x248]
movabs r8, str._____END
call fcn.18000a204
add rsp, 0x20
test rax, rax
je 0x18000904b
mov rsi, rdi
add rsi, 0x1e
lea rdi, [rbp - 0x238]
mov byte [rax], 0
lodsb al, byte [rsi]
cmp al, 0x20
jbe 0x180008fb5
stosb byte [rdi], al
cmp al, 0
je 0x180008fbb
jmp 0x180008faf
mov byte [rdi], 0
sub rsp, 0x40
lea rcx, [rbp - 0x238]
mov rdx, 0
mov r8, 1
mov r9, 0
lea rax, [rbp - 0x258]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
sub rsp, 0x40
lea rcx, [rbp - 0x238]
mov rdx, 0
mov r8, 1
mov r9, qword [rbp + 0x28]
lea rax, [rbp - 0x258]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
sub rsp, 0x20
lea rcx, [rbp - 0x240]
call fcn.180009da1
add rsp, 0x20
mov rax, qword [rbp - 0x258]
add rsp, 0x228
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rdi
pop rbx
pop rbp
ret
Function at 0x1800095b6
Capabilities:
Encrypt data via sspi

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbp
mov rbp, rsp
push rbx
push rdi
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x78
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.180009e0b
add rsp, 0x20
jmp 0x1800097c7
sub rsp, 0x20
mov rcx, qword [rbp + 0x30]
mov rdx, 4
lea r8, [rbp - 0x50]
call qword [sym.imp.secur32.dll_QueryContextAttributesA]
add rsp, 0x20
mov eax, dword [rbp - 0x50]
add eax, dword [rbp - 0x48]
add eax, dword [rbp - 0x4c]
sub rsp, 0x20
mov rcx, 0
mov rdx, rax
mov r8, 0x3000
mov r9, 4
call qword [sym.imp.kernel32.dll_VirtualAlloc]
add rsp, 0x20
test rax, rax
je 0x1800097d2
mov qword [rbp - 0x58], rax
add eax, dword [rbp - 0x50]
mov r12, qword [rbp + 0x20]
cmp dword [rbp - 0x48], r12d
ja 0x180009665
mov r12d, dword [rbp - 0x48]
mov rdx, qword [rbp + 0x18]
add rdx, qword [rbp - 0xb0]
add qword [rbp - 0xb0], r12
sub qword [rbp + 0x20], r12
sub rsp, 0x20
mov rcx, rdx
mov rdx, rax
mov r8, r12
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x50]
lea rdx, [rbp - 0xa8]
mov r8, 4
call fcn.180009fab
add rsp, 0x20
mov dword [rbp - 0xa4], 7
sub rsp, 0x20
lea rcx, [rbp - 0x58]
lea rdx, [rbp - 0xa0]
mov r8, 8
call fcn.180009fab
add rsp, 0x20
mov dword [rbp - 0x98], r12d
mov dword [rbp - 0x94], 1
mov rax, qword [rbp - 0x58]
mov ecx, dword [rbp - 0x50]
add rax, rcx
mov qword [rbp - 0x90], rax
sub rsp, 0x20
lea rcx, [rbp - 0x4c]
lea rdx, [rbp - 0x88]
mov r8, 4
call fcn.180009fab
add rsp, 0x20
mov dword [rbp - 0x84], 6
mov rax, qword [rbp - 0x58]
mov ecx, dword [rbp - 0x50]
add rax, rcx
add rax, r12
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], 0
mov dword [rbp - 0x74], 0
mov qword [rbp - 0x70], 0
lea rax, [rbp - 0xa8]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x68], 0
mov dword [rbp - 0x64], 4
sub rsp, 0x20
mov rcx, qword [rbp + 0x30]
mov rdx, 0
lea r8, [rbp - 0x68]
mov r9, 0
call qword [sym.imp.secur32.dll_EncryptMessage]
add rsp, 0x20
mov r8d, dword [rbp - 0xa8]
add r8d, dword [rbp - 0x98]
add r8d, dword [rbp - 0x88]
sub rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x58]
mov r9, qword [rbp + 0x28]
call fcn.18000311d
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x58]
call fcn.180009da1
add rsp, 0x20
cmp qword [rbp + 0x20], 0
ja 0x1800095fb
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rdi
pop rbx
pop rbp
ret
Function at 0x180009b12
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbp
mov rbp, rsp
push rbx
push rdi
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x38
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.180009e0b
add rsp, 0x20
mov rdi, qword [rbp + 0x18]
sub rsp, 0x30
mov rcx, qword [rbp + 0x10]
mov rdx, 0
lea r8, [rbp - 0x60]
mov r9, qword [rbp + 0x30]
mov qword [rsp + 0x20], 0
call fcn.1800039d2
add rsp, 0x30
sub rsp, 0x30
mov rcx, 0
lea rdx, [rbp - 0x60]
mov r8, 0
mov r9, 0
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ws2_32.dll_select]
add rsp, 0x30
cmp rax, 1
jne 0x180009c05
sub rsp, 0x20
mov rcx, qword [rbp + 0x10]
lea rdx, [rbp - 0x68]
mov r8, qword [rbp + 0x28]
call fcn.1800097e3
add rsp, 0x20
test eax, eax
jle 0x180009c0c
sub qword [rbp + 0x20], rax
jae 0x180009be2
mov qword [rbp + 0x20], 0xffffffffffffffff
jmp 0x180009beb
mov rsi, qword [rbp - 0x68]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
sub rsp, 0x20
lea rcx, [rbp - 0x68]
call fcn.180009da1
add rsp, 0x20
cmp qword [rbp + 0x20], 0
jle 0x180009c0c
jmp 0x180009c07
jmp 0x180009c0c
jmp 0x180009b56
mov rax, qword [rbp + 0x20]
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rdi
pop rbx
pop rbp
ret

Function at 0x180009e46
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbp
mov rbp, rsp
push rbx
push rdi
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x18
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.180009e0b
add rsp, 0x20
mov qword [rbp - 0x50], 0x64
sub rsp, 0x40
mov rcx, qword [rbp + 0x10]
mov rdx, 0x40000000
mov r8, 0
mov r9, 0
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0x80
mov qword [rsp + 0x30], 0
call qword [sym.imp.kernel32.dll_CreateFileA]
add rsp, 0x40
mov qword [rbp - 0x40], rax
cmp eax, 0xffffffff
jne 0x180009ee6
cmp qword [rbp - 0x50], 0
je 0x180009ee6
dec qword [rbp - 0x50]
jmp 0x180009e8e
cmp eax, 0xffffffff
je 0x180009f48
sub rsp, 0x20
mov rcx, qword [rbp - 0x40]
mov rdx, 0
mov r8, 0
mov r9, qword [rbp + 0x30]
call qword [sym.imp.kernel32.dll_SetFilePointer]
add rsp, 0x20
sub rsp, 0x30
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp + 0x18]
mov r8, qword [rbp + 0x20]
lea r9, [rbp - 0x48]
mov qword [rsp + 0x20], 0
call qword [sym.imp.kernel32.dll_WriteFile]
add rsp, 0x30
sub rsp, 0x20
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.kernel32.dll_CloseHandle]
add rsp, 0x20
add rsp, 0x18
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rdi
pop rbx
pop rbp
ret
Function at 0x18000a390
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
push rbp
mov rbp, rsp
push rbx
push rdi
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x238
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.180009e0b
add rsp, 0x20
mov rsi, qword [rbp + 0x10]
mov eax, dword [rsi + 0x3c]
mov edx, dword [rax + rsi + 0x88]
mov ecx, dword [rax + rsi + 0x8c]
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x68], rcx
and eax, eax
je 0x18000a4c1
lea rax, [rdx + rsi]
mov edx, dword [rax + 0x18]
mov qword [rbp - 0x40], rdx
mov edx, dword [rax + 0x1c]
mov qword [rbp - 0x48], rdx
add qword [rbp - 0x48], rsi
mov edx, dword [rax + 0x20]
mov qword [rbp - 0x50], rdx
add qword [rbp - 0x50], rsi
mov edx, dword [rax + 0x24]
mov qword [rbp - 0x58], rdx
add qword [rbp - 0x58], rsi
xor rbx, rbx
mov rdi, qword [rbp - 0x50]
jmp 0x18000a4b7
mov eax, dword [rdi + rbx*4]
add rax, rsi
sub rsp, 0x20
mov rcx, qword [rbp + 0x18]
mov rdx, rax
call fcn.18000a028
add rsp, 0x20
and eax, eax
je 0x18000a4b4
mov rdx, qword [rbp - 0x58]
mov ax, word [rdx + rbx*2]
mov rdx, qword [rbp - 0x48]
mov eax, dword [rdx + rax*4]
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
add rdx, rsi
add rax, rsi
add rcx, rdx
cmp rax, rdx
jbe 0x18000a4b2
cmp rax, rcx
ja 0x18000a4b2
mov rsi, rax
mov rdi, rax
mov al, 0x2e
repne scasb al, byte [rdi]
sub rdi, rsi
mov rcx, rdi
lea rdi, [rbp - 0x268]
rep movsb byte [rdi], byte [rsi]
mov byte [rdi - 1], 0
sub rsp, 0x20
lea rcx, [rbp - 0x268]
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
mov rdx, rsi
call fcn.18000a390
add rsp, 0x20
jmp 0x18000a4c4
inc rbx
cmp rbx, qword [rbp - 0x40]
jb 0x18000a426
xor rax, rax
add rsp, 0x238
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rdi
pop rbx
pop rbp
ret

Function at 0x18000a4d8
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rcx
push rbp
mov rbp, rsp
push rbx
push rdi
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x218
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.180009e0b
add rsp, 0x20
mov rdx, qword [rbp + 0x10]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rsi, qword [rax + 0x18]
mov rsi, qword [rsi]
mov rdi, qword [rsi]
cmp qword [rdi + 0x30], 0
je 0x18000a570
mov r12, qword [rdi + 0x60]
xor rcx, rcx
cmp byte [rcx + rdx], 0
je 0x18000a5ab
mov al, byte [r12]
mov ah, al
cmp al, 0x41
jb 0x18000a54e
cmp al, 0x5a
ja 0x18000a54e
add ah, 0x20
jmp 0x18000a559
cmp al, 0x61
jb 0x18000a559
cmp al, 0x7a
ja 0x18000a559
sub ah, 0x20
cmp byte [rcx + rdx], al
je 0x18000a565
cmp byte [rcx + rdx], ah
je 0x18000a565
jmp 0x18000a56e
add r12, 2
inc rcx
jmp 0x18000a535
jmp 0x18000a521
sub rsp, 0x20
lea rcx, str.kernel32.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.LoadLibraryA
call fcn.18000a390
add rsp, 0x20
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x18000a5af
mov rax, qword [rdi + 0x30]
add rsp, 0x218
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rdi
pop rbx
pop rbp
ret
Function at 0x14002983c
Capabilities:
Clear file content

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov rsi, r8
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 1]
call fcn.14001ce34
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.14001ce34
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x14002998c
cmp rax, 0xffffffffffffffff
je 0x14002998c
xor edi, edi
test rbp, rbp
jle 0x140029937
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.14001f748
mov rbx, rax
test rax, rax
jne 0x1400298c4
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x14002992d
mov edx, 0x8000
mov ecx, r14d
call fcn.14001a768
mov r15d, eax
mov eax, 0x1000
mov r8d, ebp
cmp rbp, rax
mov r9, rsi
mov rdx, rbx
mov ecx, r14d
cmovge r8d, eax
call fcn.14001db10
cmp eax, 0xffffffff
je 0x14002990d
cdqe
sub rbp, rax
test rbp, rbp
jg 0x1400298d4
mov edx, r15d
mov ecx, r14d
call fcn.14001a768
jmp 0x14002992d
cmp byte [rsi + 0x38], dil
je 0x140029924
cmp dword [rsi + 0x34], 5
jne 0x140029924
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x14002992d
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.14001b4fc
jmp 0x1400299a0
jns 0x1400299a0
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.14001ce34
cmp rax, 0xffffffffffffffff
jne 0x140029958
cmp byte [rsi + 0x30], dil
je 0x1400299a0
mov edi, dword [rsi + 0x2c]
jmp 0x1400299a0
mov ecx, r14d
call fcn.140018c20
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x1400299a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsi + 0x38], 1
mov edi, 0xd
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
jmp 0x1400299a0
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x140029999
mov eax, dword [rsi + 0x2c]
jmp 0x14002999e
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.14001ce34
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret

Function at 0x14002aa90
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14002aab8
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x14002aab8
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret

Function at 0x140001c68
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140001cb2
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140001cb2
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140001cb2
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140001cb2
cmp dword [rcx + 0x84], 0xe
jbe 0x140001cb2
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140001cb4
xor al, al
add rsp, 0x28
ret
Function at 0x140011285
Capabilities:
Persist via run registry key
Set registry value

Disassembly:
jmp 0x1400134b0
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x16
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [0x140022040]
xor rax, rbp
mov qword [rbp + 0x108], rax
lea rcx, [0x1400280f2]
call fcn.140011573
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20006
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionRun
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
je 0x140013534
xor al, al
jmp 0x1400135c8
mov rcx, qword [rbp + 0x138]
call fcn.14001110e
lea rax, [rax + rax + 2]
mov qword [rbp + 0xf8], rax
mov rcx, qword [rbp + 0x138]
call fcn.1400111ef
mov qword [rbp + 0x100], rax
mov rcx, qword [rbp + 0x130]
call fcn.1400111ef
mov rcx, qword [rbp + 0xf8]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x100]
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [rbp + 0x24], eax
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rbp + 0x24], 0
jne 0x1400135b7
mov dword [rbp + 0xf4], 1
jmp 0x1400135c1
mov dword [rbp + 0xf4], 0
movzx eax, byte [rbp + 0xf4]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x14001df20]
call fcn.1400114ba
mov rax, rdi
mov rcx, qword [rbp + 0x108]
xor rcx, rbp
call fcn.1400112c6
lea rsp, [rbp + 0x118]
pop rdi
pop rbp
ret

Function at 0x1400112df
Capabilities:
Persist via run registry key
Query or enumerate registry value

Disassembly:
jmp 0x140013650
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x448
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0xa6
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x468]
mov rax, qword [0x140022040]
xor rax, rbp
mov qword [rbp + 0x408], rax
lea rcx, [0x1400280f2]
call fcn.140011573
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionRun
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
je 0x1400136cc
xor al, al
jmp 0x14001373a
mov dword [rbp + 0x274], 0x208
mov rcx, qword [rbp + 0x430]
call fcn.1400111ef
lea rcx, [rbp + 0x274]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rbp + 0x24], eax
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rbp + 0x24], 0
jne 0x140013729
mov dword [rbp + 0x404], 1
jmp 0x140013733
mov dword [rbp + 0x404], 0
movzx eax, byte [rbp + 0x404]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x14001de90]
call fcn.1400114ba
mov rax, rdi
mov rcx, qword [rbp + 0x408]
xor rcx, rbp
call fcn.1400112c6
lea rsp, [rbp + 0x418]
pop rdi
pop rbp
ret
Function at 0x140011325
Capabilities:
Terminate process

Disassembly:
jmp 0x140016160
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret

Function at 0x1400113ed
Capabilities:
Parse pe header

Disassembly:
jmp 0x1400174b0
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x1400174d0
xor al, al
jmp 0x140017551
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x1400174e3
xor al, al
jmp 0x140017551
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14001750d
xor al, al
jmp 0x140017551
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140017521
xor al, al
jmp 0x140017551
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140017533
xor al, al
jmp 0x140017551
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x14001754f
xor al, al
jmp 0x140017551
mov al, 1
add rsp, 0x38
ret
Function at 0x140101920
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x14010192d
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x14010193d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x140101925
lea eax, [rcx + 1]
jmp 0x14010194b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x14010195e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x140101944
sub eax, 3
jb 0x14010197e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x1401019cd
sar eax, 1
movsxd rbp, eax
jb 0x1401019b4
jmp 0x14010198c
add ebx, ebx
jne 0x14010198a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x1401019b4
inc ecx
add ebx, ebx
jne 0x14010199a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x1401019b4
call r11
adc ecx, ecx
add ebx, ebx
jne 0x1401019ad
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x14010199c
add ecx, 2
jmp 0x1401019b9
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.1401018e2
jmp 0x14010192d
pop rsi
pop rdi
pop rax
mov dword [rdi], eax
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x9d400
mov dl, 0x2a
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x140101a1d
cmp rsi, rcx
jae 0x140101a25
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x140101a04
cmp al, 0x8f
ja 0x140101a04
cmp byte [rsi - 2], 0xf
je 0x140101a0a
sub al, 0xe8
cmp al, 1
ja 0x1401019ee
cmp rsi, rcx
jae 0x140101a25
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x1401019f4
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x140101a25
lodsb al, byte [rsi]
jmp 0x140101a04
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0xff000]
mov eax, dword [rdi]
or eax, eax
je 0x140101a82
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x1014ec]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x140101a32
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x140101a7c
mov qword [rbx], rax
add rbx, 8
jmp 0x140101a52
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x140101abc
cmp al, 0xef
ja 0x140101aae
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x140101a8e
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
jmp 0x140101a9d
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x1af]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
mov byte [fcn.140101b3b], 0xfc
lea rcx, [rsi - 0x1000]
push 1
pop rdx
xor r8, r8
push rax
call fcn.140101b3b
pop rax
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x140101b2b
sub rsp, 0xffffffffffffff80
jmp 0x1400013f0
Function at 0x14009fae0
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x14009faed
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x14009fafd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x14009fae5
lea eax, [rcx + 1]
jmp 0x14009fb0b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x14009fb1e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x14009fb04
sub eax, 3
jb 0x14009fb3e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x14009fb8d
sar eax, 1
movsxd rbp, eax
jb 0x14009fb74
jmp 0x14009fb4c
add ebx, ebx
jne 0x14009fb4a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x14009fb74
inc ecx
add ebx, ebx
jne 0x14009fb5a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x14009fb74
call r11
adc ecx, ecx
add ebx, ebx
jne 0x14009fb6d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x14009fb5c
add ecx, 2
jmp 0x14009fb79
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.14009faa2
jmp 0x14009faed
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x1b400
mov dl, 9
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x14009fbd9
cmp rsi, rcx
jae 0x14009fbe1
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x14009fbc0
cmp al, 0x8f
ja 0x14009fbc0
cmp byte [rsi - 2], 0xf
je 0x14009fbc6
sub al, 0xe8
cmp al, 1
ja 0x14009fbaa
cmp rsi, rcx
jae 0x14009fbe1
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x14009fbb0
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x14009fbe1
lodsb al, byte [rsi]
jmp 0x14009fbc0
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x9d000]
mov eax, dword [rdi]
or eax, eax
je 0x14009fc4a
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x114404]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x14009fbee
jns 0x14009fc23
movzx rdx, word [rdi]
add rdi, 2
jmp 0x14009fc2d
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x14009fc44
mov qword [rbx], rax
add rbx, 8
jmp 0x14009fc0e
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x18f]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x14009fca2
sub rsp, 0xffffffffffffff80
jmp 0x14001bce0