joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14017f330
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xd8
call fcn.140224c40
sub rsp, rax
mov rax, qword [0x14033b600]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r14, qword [rsp + 0x140]
xor r12d, r12d
mov rax, qword [rcx]
mov rbp, r9
movsxd rbx, r8d
mov rsi, rdx
mov qword [rsp + 0x20], r14
mov rdi, rcx
lea r15d, [r12 + 1]
mov r13d, r12d
test r9, r9
je 0x14017f39f
cmp r9, rax
je 0x14017f397
test rdx, rdx
je 0x14017f410
test r8d, r8d
js 0x14017f410
mov r13d, r15d
mov qword [rcx], r9
jmp 0x14017f3a7
test rax, rax
je 0x14017f410
mov rbp, rax
mov rcx, rbp
call fcn.1400f8f00
test al, 2
jne 0x14017f410
test rsi, rsi
je 0x14017f478
mov rcx, rbp
mov r13d, r15d
call fcn.140122fb0
cmp eax, 0x90
jg 0x14017f410
cmp eax, ebx
jge 0x14017f436
mov rcx, qword [rdi + 8]
mov r8, r14
mov rdx, rbp
call fcn.140106140
test eax, eax
je 0x14017f410
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, rsi
call fcn.1401063a0
test eax, eax
je 0x14017f410
mov rcx, qword [rdi + 8]
lea rsi, [rdi + 0x20]
mov r8, rsi
lea rdx, [rdi + 0x24]
call fcn.140106060
test eax, eax
jne 0x14017f453
xor eax, eax
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140223ef0
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ebx, 0x90
ja 0x14017f410
mov r8, rbx
lea rcx, [rdi + 0x24]
mov rdx, rsi
call fcn.140226410
lea rsi, [rdi + 0x20]
mov dword [rsi], ebx
mov ecx, dword [rsi]
cmp ecx, 0x90
je 0x14017f481
mov eax, ecx
mov r8d, 0x90
sub r8d, ecx
xor edx, edx
lea rcx, [rdi + 0x24]
add rcx, rax
call fcn.140226ac0
jmp 0x14017f481
test r13d, r13d
je 0x14017f556
lea r14, [rsp + 0x30]
mov esi, 0x48
sub r14, rdi
lea rbx, [rdi + 0x25]
lea r15, [rsp + 0x31]
mov rcx, rbx
sub r15, rdi
mov edx, esi
nop
movzx eax, byte [rcx - 1]
lea rcx, [rcx + 2]
xor al, 0x36
mov byte [r14 + rcx - 0x27], al
movzx eax, byte [rcx - 2]
xor al, 0x36
mov byte [r15 + rcx - 0x27], al
sub rdx, 1
jne 0x14017f4a0
mov r8, qword [rsp + 0x20]
mov rdx, rbp
mov rcx, qword [rdi + 0x10]
call fcn.140106140
test eax, eax
je 0x14017f569
mov rcx, rbp
call fcn.140122fb0
mov rcx, qword [rdi + 0x10]
lea rdx, [rsp + 0x30]
movsxd r8, eax
call fcn.1401063a0
test eax, eax
je 0x14017f569
nop word [rax + rax]
movzx eax, byte [rbx - 1]
lea rbx, [rbx + 2]
xor al, 0x5c
mov byte [rbx + r14 - 0x27], al
movzx eax, byte [rbx - 2]
xor al, 0x5c
mov byte [rbx + r15 - 0x27], al
sub rsi, 1
jne 0x14017f500
mov r8, qword [rsp + 0x20]
mov rdx, rbp
mov rcx, qword [rdi + 0x18]
call fcn.140106140
test eax, eax
je 0x14017f569
mov rcx, rbp
call fcn.140122fb0
mov rcx, qword [rdi + 0x18]
lea rdx, [rsp + 0x30]
movsxd r8, eax
call fcn.1401063a0
test eax, eax
je 0x14017f569
lea r15d, [rsi + 1]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
call fcn.140106410
test eax, eax
cmovne r12d, r15d
test r13d, r13d
je 0x14017f57d
mov edx, 0x90
lea rcx, [rsp + 0x30]
call fcn.140001240
mov eax, r12d
jmp 0x14017f412
Function at 0x1401c64b0
Capabilities:
Encode data using xor

Disassembly:
mov eax, gethostname
call fcn.140224c40
sub rsp, rax
cmp dword [rsp + 0x68], 0
je 0x1401c64d9
lea rax, [0x1401c4b20]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.1401bda60
lea rax, [0x1401c3ce0]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.1401bd7b0
Function at 0x14023338c
Capabilities:
Delete file

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1402333ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14023a1d4
or eax, 0xffffffff
jmp 0x1402333ae
xor eax, eax
add rsp, 0x28
ret

Function at 0x140234cac
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov ebx, ecx
test r8d, r8d
jne 0x140234b3f
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140234b3f
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140234b3f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140234b3f
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140234b3f
cmp dword [rcx + 0x84], 0xe
jbe 0x140234b3f
cmp dword [rcx + 0xf8], 0
je 0x140234b3f
mov ecx, ebx
call fcn.140234be0
lea rax, [rbp + 0x18]
mov byte [rbp + 0x28], 0
mov qword [rbp - 0x20], rax
lea r9, [rbp - 0x2c]
lea rax, [rbp + 0x20]
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x20]
lea rax, [rbp + 0x28]
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x28]
mov eax, 2
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
call fcn.1402349d0
cmp dword [rbp + 0x20], 0
je 0x140234b8c
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.140234b94
int3
xor r8d, r8d
xor edx, edx
jmp 0x140234ad8
Function at 0x14000218c
Capabilities:
Encrypt data using rc4 prga

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 r14
mov rax, qword [rsp + 0x38]
mov ebx, r9d
mov r14d, r8d
mov ebp, edx
mov r11, rcx
mov r10, qword [rax + 0xc0]
mov esi, dword [r10 + 0x54]
cmp esi, 6
jb 0x140002334
movzx eax, byte [rcx + 5]
movzx r9d, byte [rcx + 4]
shl r9w, 8
or r9w, ax
movzx eax, r9w
inc rax
lea rcx, [rax + rax*2]
add rcx, rcx
cmp rcx, rsi
ja 0x140002334
lea eax, [rbx + 0xfe]
cmp eax, 0x1fc
ja 0x140002334
xor r8d, r8d
movzx edi, r9w
mov edx, r8d
test edi, edi
je 0x140002249
lea rcx, [r11 + 8]
cmp byte [rcx - 2], 1
jne 0x140002360
cmp byte [rcx - 1], r8b
je 0x140002249
movzx r10d, byte [rcx - 1]
movzx eax, byte [rcx]
imul r10d, r14d
imul eax, ebp
cmp r10d, eax
jl 0x140002360
movzx eax, byte [rcx + 1]
imul eax, ebp
cmp r10d, eax
jg 0x140002360
cmp edx, edi
je 0x140002334
movzx ecx, r9w
mov eax, edx
lea rdx, [rax + rcx*2]
movzx eax, byte [r11 + rdx*2 + 6]
shl ax, 8
movsx r9d, ax
movzx eax, byte [r11 + rdx*2 + 7]
or r9, rax
lea rax, [r9 + 4]
cmp rax, rsi
ja 0x140002334
mov eax, ebx
cdq
xor eax, edx
sub eax, edx
test ebx, ebx
jg 0x1400022a0
cmp al, byte [r9 + r11 + 2]
jb 0x140002334
cmp al, byte [r9 + r11 + 3]
ja 0x140002334
movzx eax, byte [r9 + r11 + 1]
movzx edx, byte [r9 + r11]
shl dx, 8
or dx, ax
movzx eax, dx
lea rax, [rax + rax*2]
lea rax, [rax + 2]
lea rax, [r9 + rax*2]
cmp rax, rsi
ja 0x140002334
movzx r10d, dx
test ebx, ebx
jg 0x140002373
test r10d, r10d
je 0x140002334
mov rdi, qword [rsp + 0x30]
lea rdx, [r11 + 6]
neg ebx
add rdx, r9
movzx ecx, byte [rdx - 2]
movzx eax, byte [rdx - 1]
shl cx, 8
or cx, ax
movzx eax, byte [rdx]
movzx r9d, cx
movzx ecx, byte [rdx + 1]
shl ax, 8
or cx, ax
mov word [rdi], r9w
movzx eax, byte [rdx + 3]
mov word [rdi + 2], cx
movzx ecx, byte [rdx + 2]
shl cx, 8
or cx, ax
mov word [rdi + 4], cx
cmp r9d, ebx
je 0x140002343
jg 0x140002334
inc r8d
add rdx, 6
cmp r8d, r10d
jb 0x1400022e5
xor eax, eax
jmp 0x140002348
mov eax, 0xff
cmp r11w, ax
ja 0x140002334
mov eax, 1
mov rbx, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret
inc edx
add rcx, 4
cmp edx, edi
jae 0x140002249
jmp 0x140002211
test r10d, r10d
je 0x140002334
mov rdi, qword [rsp + 0x30]
add r9, 6
add r9, r11
movzx eax, byte [r9 - 1]
movzx ecx, byte [r9 + 2]
movzx r11d, byte [r9 - 2]
movzx edx, byte [r9 + 1]
shl cx, 8
shl r11w, 8
or r11w, ax
movzx eax, byte [r9]
shl ax, 8
or dx, ax
mov word [rdi], r11w
movzx eax, byte [r9 + 3]
or cx, ax
mov word [rdi + 2], dx
mov word [rdi + 4], cx
movsx eax, cx
movsx ecx, dx
sub ecx, eax
cmp ecx, ebx
je 0x140002338
jg 0x140002334
inc r8d
add r9, 6
cmp r8d, r10d
jb 0x140002384
jmp 0x140002334
Function at 0x1400033a8
Capabilities:
Enumerate pe sections
Parse pe header
Resolve function by parsing pe exports

Disassembly:
movss dword [rsp + 8], xmm0
mov r9, rdx
mov r8d, dword [rsp + 8]
mov eax, r8d
sar eax, 0x17
movzx ecx, al
cmp ecx, 0x6f
jb 0x140003400
cmp ecx, 0x86
jae 0x140034c16
mov edx, r8d
mov eax, 0x85
and edx, 0x7fffff
sub eax, ecx
bts edx, 0x17
mov cl, al
sar edx, cl
inc edx
sar edx, 1
mov eax, edx
neg eax
test r8d, r8d
cmovns eax, edx
mov dword [r9], eax
mov eax, 1
ret
and dword [rdx], 0
jmp 0x1400033f9
Function at 0x14002e6a6
Capabilities:
Enumerate pe sections
Parse pe header
Resolve function by parsing pe exports

Disassembly:
xor eax, eax
jmp 0x14002edb3
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xe8
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x58], 0
jmp 0x140032711
mov ecx, 0xc1
call qword [0x1400ac060]
xor eax, eax
jmp 0x14002edb3
test eax, eax
jne 0x140034c09
jmp 0x14002e188
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov edx, 0x40
mov rcx, qword [rsp + 0x108]
call fcn.140033ec6
jmp 0x140032342
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x14002e733
jmp 0x140030894

Function at 0x14002f87b
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x58
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 8]
mov qword [rsp + 0x38], rax

Function at 0x14002fa21
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
Function at 0x140032183
Capabilities:
Inspect section memory permissions

Disassembly:
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x98]
add byte [rax], al
add byte [rbx + 0x251840], cl
add byte [rax], al
test eax, eax
je 0x140030553
jmp 0x14002ef78
cmp dword [rsp + 0x30], 0
je 0x140032a47
jmp 0x14002f627
mov eax, 1
jmp 0x1400316cc
mov eax, 1
jmp 0x1400316cc
cmp qword [rsp + 0x38], 0
je 0x140032118
jmp 0x140031bde
mov dword [rsp + 0x28], 1
jmp 0x1400349d5
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x18]
and eax, 0x2000000
test eax, eax
je 0x1400301ee
jmp 0x1400336f4
mov eax, 1
jmp 0x1400316cc
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x90]
mov ecx, dword [rcx + 0x40]
cmp dword [rax + 0x38], ecx
jne 0x14002fcb7
jmp 0x140030b92
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 0x40]
mov qword [rsp + 0x70], rax
xor edx, edx
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rsp + 0x70]
div rcx
mov rax, rdx
test rax, rax
jne 0x140031da1
jmp 0x140030b92
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x18]
and eax, 0x20000000
test eax, eax
jne 0x140032831
jmp 0x140033def
mov dword [rsp + 0x64], 0x80
mov dword [rsp + 0x68], 0x20
mov dword [rsp + 0x6c], 0x40
movsxd rax, dword [rsp + 0x40]
imul rax, rax, 0x10
lea rax, [rsp + rax + 0x50]
movsxd rcx, dword [rsp + 0x44]
lea rax, [rax + rcx*8]
movsxd rcx, dword [rsp + 0x48]
jmp 0x140031fa3
mov dword [rsp + 0x28], 0
jmp 0x1400349d5
cmp qword [rsp + 0x38], 0
jne 0x140033c6f
jmp 0x140034104
add rsp, 0x88
ret
lea r9, [rsp + 0x4c]
mov r8d, dword [rsp + 0x20]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax + 0x10]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x38]
call qword [rax + 0x10]
mov dword [rsp + 0x30], eax
jmp 0x14002df40
mov dword [rsp + 0x2c], 1
jmp 0x140034711
mov eax, 1
jmp 0x1400316cc
mov eax, dword [rax + rcx*4]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x18]
and eax, 0x4000000
test eax, eax
jne 0x140032b87
jmp 0x14002ec67
lea r9, [rsp + 0x4c]
mov r8d, dword [rsp + 0x20]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax + 0x10]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax]
call qword [0x1400ae309]
mov dword [rsp + 0x30], eax
jmp 0x14002df40
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x10], 0
je 0x14002dfe2
jmp 0x14002ef9c
mov dword [rsp + 0x24], 1
jmp 0x14002deeb
lea rcx, [0x1400d44e6]
call fcn.140033512
jmp 0x14003434c
mov eax, dword [rsp + 0x20]
bts eax, 9
mov dword [rsp + 0x20], eax
cmp qword [rsp + 0x38], 0
jne 0x140031bde
jmp 0x140032118
mov rax, qword [rsp + 0x98]
cmp dword [rax + 0x1c], 0
je 0x14002fb0c
jmp 0x140030b92
mov rax, qword [rsp + 0x98]
invalid
invalid
invalid
invalid

Function at 0x1400338b9
Capabilities:
Access peb ldr_data
Get process filename

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x68
Function at 0x140045d78
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x1400c2d40]
xor rax, rsp
mov qword [rbp + 0x160], rax
xor r12d, r12d
mov r9, rcx
mov esi, 0x104
mov qword [r8], r12
mov edx, esi
lea rcx, [rsp + 0x50]
mov r15, r8
call fcn.14004585c
lea rax, [rsp + 0x50]
mov r11d, esi
cmp word [rax], r12w
je 0x140045ddf
add rax, 2
sub r11, 1
jne 0x140045dcf
mov rcx, rsi
mov rax, r11
sub rcx, r11
mov r14d, 0x7ffffffe
neg rax
sbb r8, r8
and r8, rcx
test r11, r11
je 0x140045e4a
mov rdx, rsi
lea rcx, [rsp + 0x50]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x140045e3b
lea r8, [0x1400ab800]
mov eax, r14d
sub r8, rcx
test rax, rax
je 0x140045e3b
movzx r9d, word [r8 + rcx]
test r9w, r9w
je 0x140045e3b
mov word [rcx], r9w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140045e1a
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r12w
lea r8, [rsp + 0x50]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
nop dword [rax + rax]
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
je 0x140045fbc
lea rdx, [rsp + 0x34]
mov dword [rsp + 0x34], r12d
mov rcx, rax
mov dword [rsp + 0x30], r12d
call fcn.14004332c
mov ebx, eax
test eax, eax
jns 0x140045ea9
mov rcx, qword [rbp + 0x198]
mov r9d, eax
mov edx, 0xcf
call fcn.140044f3c
jmp 0x140045fe5
mov rdx, rsi
lea rax, [rsp + 0x50]
cmp word [rax], r12w
je 0x140045ec1
add rax, 2
sub rdx, 1
jne 0x140045eb1
mov rcx, rsi
mov rax, rdx
sub rcx, rdx
neg rax
sbb r8, r8
and r8, rcx
test rdx, rdx
je 0x140045f1d
lea rdx, [rsp + 0x50]
lea rdx, [rdx + r8*2]
sub rsi, r8
je 0x140045f0e
lea rcx, [0x1400ab808]
sub rcx, rdx
test r14, r14
je 0x140045f0e
movzx eax, word [rcx + rdx]
test ax, ax
je 0x140045f0e
mov word [rdx], ax
dec r14
add rdx, 2
sub rsi, 1
jne 0x140045ef0
test rsi, rsi
lea rax, [rdx - 2]
cmovne rax, rdx
mov word [rax], r12w
lea r8, [rsp + 0x50]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
nop dword [rax + rax]
mov qword [rsp + 0x40], rax
mov rbx, rax
test rax, rax
je 0x140045f9d
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.14004332c
mov esi, eax
test eax, eax
jns 0x140045f75
mov rcx, qword [rbp + 0x198]
mov r9d, eax
mov edx, 0xd7
call fcn.140044f3c
mov rcx, rbx
call fcn.140042154
mov ebx, esi
jmp 0x140045fe5
mov rcx, rbx
call fcn.140042154
movsxd rax, dword [rsp + 0x34]
movsxd rcx, dword [rsp + 0x30]
shl rcx, 0x1f
or rcx, rax
mov qword [r15], rcx
mov rcx, rdi
call fcn.140042154
xor eax, eax
jmp 0x140045ff1
mov rcx, qword [rbp + 0x198]
mov edx, 0xd5
call fcn.140044f1c
lea rcx, [rsp + 0x40]
mov ebx, eax
call fcn.140041720
jmp 0x140045fe5
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 2
jne 0x140045fd2
mov ebx, r12d
jmp 0x140045fe5
mov rcx, qword [rbp + 0x198]
mov edx, 0xc9
call fcn.140044f1c
mov ebx, eax
lea rcx, [rsp + 0x38]
call fcn.140041720
mov eax, ebx
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.14002ddc0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
Function at 0x14004bcc8
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x40
xor ebx, ebx
mov rcx, qword [0x1400c52e4]
cmp ecx, 1
je 0x14004bd0b
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
nop dword [rax + rax]
mov rcx, rax
lea edx, [rbx + 0xb]
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
nop dword [rax + rax]
jmp 0x14004bd46
mov dword [0x1400c5978], 0x4000
mov dword [0x1400c5988], 0x800
mov eax, 0xc00
mov dword [0x1400c5998], eax
mov dword [0x1400c59a8], 0x1000
mov dword [0x1400c59b8], eax
mov dword [0x1400c59c8], ebx
mov dword [0x1400c59d8], ebx
mov edi, ebx
mov dword [rsp + 0x30], ebx
lea r14, [0x1400c5970]
movsxd rsi, edi
cmp rsi, 7
jae 0x14004bd80
add rsi, rsi
mov ecx, dword [r14 + rsi*8 + 8]
xor r9d, r9d
mov r8b, 1
call fcn.14004b518
mov qword [r14 + rsi*8], rax
test rax, rax
je 0x14004bde0
inc edi
mov dword [rsp + 0x30], edi
jmp 0x14004bd53
mov qword [0x1400c5500], r14
lea rax, [0x1400c5980]
mov qword [0x1400c5508], rax
lea rax, [0x1400c5990]
mov qword [0x1400c5510], rax
lea rax, [0x1400c59a0]
mov qword [0x1400c5518], rax
lea rax, [0x1400c59b0]
mov qword [0x1400c5520], rax
lea rax, [0x1400c59c0]
mov qword [0x1400c5528], rax
lea rax, [0x1400c59d0]
mov qword [0x1400c5530], rax
mov ebx, 1
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
add rsp, 0x40
pop r14
ret

Function at 0x14005c0e4
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
mov r10, rdx
mov rbx, rcx
mov eax, dword [r8]
lea r11, [rdx + rax]
cmp eax, r9d
cmovb r9d, eax
mov dword [rsp + 0x28], r9d
sub eax, r9d
mov dword [r8], eax
mov esi, 0x3193
movzx r8d, word [rsp + 0x30]
mov eax, r9d
dec r9d
mov dword [rsp + 0x28], r9d
test eax, eax
je 0x14005c145
movzx ecx, byte [r10]
add cx, r8w
movzx edx, cx
imul edx, esi
mov r8d, 0x58bf
sub r8w, dx
inc r10
mov qword [rsp + 0x18], r10
jmp 0x14005c114
cmp r10, r11
jae 0x14005c180
movzx ecx, byte [r10]
inc r10
mov qword [rsp + 0x18], r10
movzx eax, r8w
shr ax, 8
xor al, cl
mov byte [rbx], al
inc rbx
mov qword [rsp + 0x10], rbx
add cx, r8w
movzx ecx, cx
imul ecx, esi
mov r8d, 0x58bf
sub r8w, cx
jmp 0x14005c145
mov rbx, qword [rsp + 0x20]
pop rsi
ret

Function at 0x14006f6f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp dword [0x1400c40ec], 0
je 0x14006f768
mov r9, qword [0x1400c40c8]
mov r10, qword [0x1400c40d0]
cmp r9, r10
je 0x14006f75a
mov eax, r9d
sub eax, dword [0x1400c4128]
movsxd rcx, eax
mov rax, qword [0x1400c4110]
movzx r11d, word [rax + rcx*2]
jmp 0x14006f755
movzx r8d, r11w
mov eax, 0x3193
shr r8w, 8
xor r8b, byte [r9]
movzx ecx, r8b
add cx, r11w
mov byte [r9], r8b
movzx edx, cx
mov r11d, 0x58bf
imul edx, eax
sub r11w, dx
inc r9
cmp r9, r10
jb 0x14006f726
and dword [0x1400c40ec], 0
and dword [0x1400c40e8], 0
ret
Function at 0x1400a27f4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov r9, rcx
mov r10d, 2
mov r11, r9
mov ebx, 2
mov r8d, dword [r11]
mov eax, r8d
cdq
shr r8d, 0x1f
xor eax, edx
sub eax, edx
mov ecx, eax
sar ecx, 0x10
imul edx, ecx, 0x51e
mov ecx, eax
and edx, 0xffff0000
sub ecx, edx
sub edx, eax
test r8b, r8b
cmove edx, ecx
mov dword [r11], edx
lea r11, [r11 + 4]
sub rbx, 1
jne 0x1400a280a
add r9, 0xc
sub r10, 1
jne 0x1400a2802
mov rbx, qword [rsp + 8]
ret
Function at 0x1800010a0
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
cmp edx, 1
jne 0x1800010e1
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
xor eax, eax
lea r8, [0x180001030]
mov qword [rsp + 0x28], rax
mov r9, rbx
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x1800010e1
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
add rsp, 0x30
pop rbx
ret
Function at 0x1800010f0
Capabilities:
Get system information on windows

Disassembly:
push rsi
push rdi
push r14
push r15
sub rsp, 0x98
mov rax, qword [0x1800cd040]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rdi, rcx
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov r14, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
cmp rdi, 0x40000000
jbe 0x18000113f
lea rax, [rdi - 0x40000000]
cmp r14, rax
cmovb r14, rax
mov rsi, qword [0x18014bd60]
lea r15, [rdi + 0x40000000]
cmp rcx, r15
cmovbe r15, rcx
sub r15, 0xfff
test rsi, rsi
je 0x18000117d
cmp rsi, r14
jb 0x180001175
cmp rsi, r15
jae 0x180001175
cmp qword [rsi + 8], 0
jne 0x180001347
mov rsi, qword [rsi]
test rsi, rsi
jne 0x180001160
mov qword [rsp + 0xc8], rbx
mov rbx, rdi
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0x90], r12
mov r12d, 0x40
cmp rdi, r14
jb 0x180001212
nop dword [rax]
nop word [rax + rax]
mov ebp, dword [rsp + 0x78]
mov rax, rbx
xor edx, edx
div rbp
sub rbx, rdx
sub rbx, rbp
cmp rbx, r14
jb 0x180001209
nop word [rax + rax]
mov r8d, 0x30
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180001209
cmp dword [rsp + 0x40], 0x10000
je 0x18000128b
mov rbx, qword [rsp + 0x28]
cmp rbx, rbp
jb 0x180001209
sub rbx, rbp
cmp rbx, r14
jae 0x1800011d0
test rsi, rsi
jne 0x1800012f0
cmp rdi, r15
ja 0x18000132f
nop dword [rax + rax]
mov ebp, dword [rsp + 0x78]
xor edx, edx
mov rax, rdi
mov ebx, ebp
div rbp
mov eax, ebp
sub rax, rdx
add rax, rdi
mov rdi, rax
cmp rax, r15
ja 0x18000132f
mov r8d, 0x30
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x18000132f
cmp dword [rsp + 0x40], 0x10000
je 0x1800012c1
xor edx, edx
lea edi, [rbp - 1]
add rdi, qword [rsp + 0x38]
add rdi, qword [rsp + 0x20]
mov rax, rdi
div rbx
sub rdi, rdx
cmp rdi, r15
jbe 0x180001242
jmp 0x18000132f
test rbx, rbx
je 0x180001209
mov r9d, r12d
mov edx, 0x1000
mov r8d, 0x3000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
test rax, rax
jne 0x1800012f0
cmp rbx, r14
jae 0x1800011b0
jmp 0x180001212
test rdi, rdi
je 0x18000132f
mov r9d, r12d
mov edx, 0x1000
mov r8d, 0x3000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
test rax, rax
jne 0x1800012f0
cmp rdi, r15
jbe 0x180001220
jmp 0x18000132f
xor edx, edx
lea rcx, [rsi + 0x40]
mov dword [rsi + 0x10], edx
nop dword [rax]
mov qword [rcx], rdx
mov rax, rcx
mov qword [rsi + 8], rcx
add r12, 0x40
add rcx, 0x40
mov rdx, rax
cmp r12, 0xfc0
jbe 0x180001300
mov rax, qword [0x18014bd60]
mov qword [rsi], rax
mov qword [0x18014bd60], rsi
mov r12, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xc8]
mov rax, rsi
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1800a6480
add rsp, 0x98
pop r15
pop r14
pop rdi
pop rsi
ret