joyce8/EMBER2024-capa huggingface dataset:
Function at 0x444e80
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x444fe7
push rbp
mov rbp, rsp
sub rsp, 0x18
mov ecx, dword [rax + 0x190]
mov edx, dword [rax + 0x194]
mov rsi, qword [rax + 0x998]
mov edi, dword [rax + 0x194]
cmp edi, edx
jne 0x444e92
cmp edx, ecx
jne 0x444fd5
nop word [rax + rax]
test rsi, rsi
jne 0x444fd5
mov qword [rsp + 0x28], rax
test rbx, rbx
jne 0x444ef4
nop
call fcn.00464760
xorps xmm15, xmm15
mov r14, qword [0x005c75b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbx, qword [rsp]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x10], rbx
call fcn.00444da0
mov rcx, qword [rsp + 0x28]
mov edx, dword [rcx]
mov ebx, edx
sar edx, 0x1f
shr edx, 0x1b
add edx, ebx
mov esi, edx
and edx, 0xffffffe0
sub ebx, edx
test ebx, ebx
jl 0x444fd0
mov rdx, qword [0x005428c8]
sar esi, 5
mov rax, rcx
mov ecx, ebx
mov edi, 1
shl edi, cl
movsxd rsi, esi
cmp ecx, 0x20
sbb r8d, r8d
and edi, r8d
cmp rdx, rsi
jbe 0x444fc5
mov rcx, qword [0x005428c0]
lea rcx, [rcx + rsi*4]
lock or dword [rcx], edi
mov rcx, qword [0x005439b0]
mov qword [rax + 8], rcx
mov rcx, rax
nop
mov qword [0x005439b0], rax
nop
mov edx, 1
lea rsi, [0x005439b8]
lock xadd dword [rsi], edx
mov rdx, qword [rcx + 0x1248]
shr rdx, 0x3d
test dl, dl
jne 0x444fb3
mov rax, qword [rsp + 0x10]
movabs rdx, 0x1fffffffffffffff
and rdx, rax
bts rdx, 0x3f
nop
nop
xchg qword [rcx + 0x1248], rdx
add rsp, 0x18
pop rbp
ret
lea rax, [0x004aed95]
mov ebx, 0x28
nop
call fcn.00434ec0
mov rax, rsi
mov rcx, rdx
call fcn.00462e60
call fcn.00433aa0
lea rax, [0x004ae101]
mov ebx, 0x23
call fcn.00434ec0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00444e80
Function at 0x448a40
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rcx, r14
test rcx, rcx
je 0x448a88
mov rcx, qword [rcx + 0x30]
mov rcx, qword [rcx + 0x90]
nop dword [rax + rax]
test rcx, rcx
je 0x448a88
mov qword [rsp + 0x68], rcx
nop
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
jmp 0x448a98
mov eax, 1
add rsp, 0x70
pop rbp
ret
mov rax, qword [rsp + 0x60]
mov rcx, qword [sym.imp.kernel32.dll_RtlLookupFunctionEntry]
lea rdx, [rsp + 0x58]
mov rbx, qword [rax + 0xf8]
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 0
call fcn.004328c0
xorps xmm15, xmm15
mov r14, qword [0x005c75b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
nop
test rax, rax
je 0x448b71
mov rcx, qword [rsp + 0x58]
mov rdx, qword [sym.imp.kernel32.dll_RtlVirtualUnwind]
mov rbx, qword [rsp + 0x60]
mov rsi, rbx
lea rdi, [rsp + 0x50]
mov r8, qword [rsi + 0xf8]
mov qword [rsp], rdx
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], 0
call fcn.00432b40
xorps xmm15, xmm15
mov r14, qword [0x005c75b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
cmp qword [rcx], rax
ja 0x448b71
cmp qword [rcx + 8], rax
ja 0x448a93
mov eax, 1
add rsp, 0x70
pop rbp
ret
Function at 0x450480
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x4505f7
movzx edx, byte [rax]
test edx, edx
jne 0x4504b4
nop dword [rax]
test r8b, r8b
jne 0x4504b4
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
add rsp, 0x10
pop rbp
ret
bt edx, 7
jae 0x4504c7
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x4505b7
mov r8d, 1
mov r9d, edx
and edx, 1
neg edx
shr r9d, 1
xor edx, r9d
add dword [rsi], edx
nop dword [rax]
cmp rbx, r8
jb 0x4505a5
sub rbx, r8
sub rcx, r8
mov rdx, rcx
neg rdx
sar rdx, 0x3f
and r8, rdx
lea rdx, [rax + r8]
test rbx, rbx
jbe 0x450597
movzx esi, byte [rax + r8]
bt esi, 7
jae 0x45051d
xor eax, eax
xor esi, esi
xor r8d, r8d
jmp 0x450560
mov eax, 1
cmp rax, rbx
ja 0x45054b
add qword [rdi], rsi
sub rcx, rax
sub rbx, rax
mov rsi, rcx
neg rsi
sar rsi, 0x3f
and rax, rsi
add rax, rdx
mov edi, 1
add rsp, 0x10
pop rbp
ret
mov rcx, rbx
call fcn.00462f20
lea r8d, [rcx + 7]
mov rcx, r11
mov eax, r12d
nop dword [rax]
cmp rax, rbx
jae 0x45058f
movzx r9d, byte [rax + rdx]
mov r10d, r9d
and r9d, 0x7f
mov r11, rcx
mov ecx, r8d
shl r9d, cl
lea r12d, [rax + 1]
or esi, r9d
test r10b, 0x80
jne 0x450553
mov rcx, r11
mov eax, r12d
jmp 0x450522
mov rcx, rbx
call fcn.00462e60
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00462e60
mov eax, r8d
mov rcx, rbx
call fcn.00462f20
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x4505ed
movzx r10d, byte [rdx + rax]
mov r11d, r10d
and r10d, 0x7f
mov r12, rcx
mov ecx, r9d
shl r10d, cl
inc edx
or r8d, r10d
test r11b, 0x80
jne 0x4505b0
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x4504cd
mov eax, edx
mov rcx, rbx
call fcn.00462e60
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00462e60
nop
int3

Function at 0x4561c0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x456275
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rdi
test byte [rax], al
lea rdx, [rax + 0x10]
mov rsi, qword [rsp + 0x68]
mov rcx, rdi
mov rax, rdx
mov rbx, rsi
call fcn.00453e40
nop
test bl, bl
je 0x45626f
mov qword [rsp + 0x18], rax
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
lea rcx, [0x004562c0]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x20]
mov qword [rsp], rcx
call fcn.00460a60
xorps xmm15, xmm15
mov r14, qword [0x005c75b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00460b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004561c0
Function at 0x4591c0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x45926f
push rbp
mov rbp, rsp
sub rsp, 0x58
mov qword [rsp + 0x70], rbx
lea rdx, [rsp + 0x68]
mov qword [rsp + 8], 0
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
movups xmmword [rsp + 0x48], xmm15
lea rsi, [0x004592c0]
mov qword [rsp + 0x10], rsi
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.00460a60
xorps xmm15, xmm15
mov r14, qword [0x005c75b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
add rsp, 0x58
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00460b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax]
jmp fcn.004591c0
Function at 0x462980
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x404403
push rbp
mov rbp, rsp
sub rsp, 0x18
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
call fcn.0040a1a0
add rsp, 0x18
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x4043e0
cmp byte [0x005c73a8], 0
je 0x462995
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45fbc0
jmp 0x4043e0

Function at 0x4629a0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005c7680]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x005c73a8], 0
je 0x4629d5
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005c79a0]
aesenc xmm0, xmmword [0x005c79b0]
aesenc xmm0, xmmword [0x005c79c0]
movq rax, xmm0
ret
jmp 0x40a3c0

Function at 0x4629e0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005c7680]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x005c73a8], 0
je 0x462a16
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005c79a0]
aesenc xmm0, xmmword [0x005c79b0]
aesenc xmm0, xmmword [0x005c79c0]
movq rax, xmm0
ret
jmp 0x40a420

Function at 0x4647a0
Capabilities:
Allocate thread local storage

Disassembly:
push rbp
mov rbp, rsp
mov rax, rsp
and rsp, 0xfffffffffffffff0
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [sym.imp.kernel32.dll_TlsAlloc]
call rax
mov rsp, qword [rsp + 0x20]
mov rcx, rax
cmp rcx, 0x40
jb 0x4647d4
mov rcx, 0x28
jmp 0x4647df
shl rcx, 3
add rcx, 0x1480
mov qword [0x005c75b0], rcx
pop rbp
ret
Function at 0x46db60
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x46dc2a
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0
call fcn.00403960
xorps xmm15, xmm15
mov r14, qword [0x005c75b0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
jne 0x46dc0f
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx + 1]
mov qword [rsp + 0x40], rdx
lea rax, [0x00493d00]
xor ebx, ebx
mov rcx, rdx
call fcn.004495c0
mov rbx, qword [rsp + 0x60]
mov rcx, rax
xor edi, edi
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.0046dec0
inc rbx
cmp rcx, rbx
jae 0x46dbfe
mov edi, 1
lea rsi, [0x00493d00]
call fcn.004496a0
mov word [rax + rbx*2 - 2], 0
xor edi, edi
xor esi, esi
add rsp, 0x48
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x004cbb28]
lea rsi, [0x004cb4d8]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.0046db60
Function at 0x140009500
Capabilities:
Find process by pid

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rdi
sub rsp, 0x70
mov rax, qword [0x140016050]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.14000a480
test rax, rax
jne 0x140009545
xor al, al
jmp 0x140009620
cmp qword [rsp + 0x88], 0
jne 0x14000956f
mov eax, dword [rsp + 0x80]
lea rdx, [rsp + 0x20]
mov ecx, eax
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
test eax, eax
jge 0x14000956f
xor al, al
jmp 0x140009620
mov rax, qword [rsp + 0x90]
and rax, 0xfffffffffffff000
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov rax, qword [rsp + 0xa0]
mov qword [rax], 0
mov rax, qword [rsp + 0x98]
mov dword [rax], 0
lea rax, [rsp + 0x30]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.ntoskrnl.exe_KeAttachProcess]
nop
mov rdx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax]
call fcn.140008c50
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x28]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rcx], rax
call qword [sym.imp.ntoskrnl.exe_KeDetachProcess]
cmp qword [rsp + 0x88], 0
jne 0x14000961c
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
jmp 0x14000961e
xor al, al
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400126d0
add rsp, 0x70
pop rdi
ret
Function at 0x140009b20
Capabilities:
Find process by pid

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rsi
push rdi
sub rsp, 0x58
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], 0xc0000001
cmp qword [rsp + 0x78], 0
jne 0x140009b6f
mov eax, dword [rsp + 0x70]
lea rdx, [rsp + 0x38]
mov ecx, eax
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
test eax, eax
jge 0x140009b6f
xor al, al
jmp 0x140009ccb
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ntoskrnl.exe_KeAttachProcess]
nop
mov rcx, qword [rsp + 0x80]
call fcn.140009710
movzx eax, al
test eax, eax
je 0x140009c8a
mov eax, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
lea rax, [rcx + rax - 1]
mov rcx, rax
call fcn.140009710
movzx eax, al
test eax, eax
je 0x140009c8a
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x30], rax
cmp dword [0x14001fffc], 0
je 0x140009be7
call fcn.1400021a0
call fcn.14000fa90
cmp dword [0x14001fffc], 0
jne 0x140009c01
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x30], rax
jae 0x140009c20
mov eax, dword [rsp + 0x88]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
mov ecx, eax
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0
jmp 0x140009c5d
lfence
mov r8d, dword [rsp + 0x88]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.14000aa70
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
cmp dword [rsp + 0x28], eax
je 0x140009c55
mov dword [rsp + 0x20], 0xc0000001
jmp 0x140009c5d
mov dword [rsp + 0x20], 0
cmp dword [0x14001fffc], 0
je 0x140009c8a
call fcn.14000fb50
mov qword [rsp + 0x48], rax
call fcn.14000faf0
call fcn.1400021b0
cmp qword [rsp + 0x48], 0
je 0x140009c8a
mov dword [rsp + 0x20], 0xc0000001
call qword [sym.imp.ntoskrnl.exe_KeDetachProcess]
jmp 0x140009c9a
cmp qword [rsp + 0x78], 0
jne 0x140009cad
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
cmp dword [rsp + 0x20], 0
jl 0x140009cbe
mov dword [rsp + 0x24], 1
jmp 0x140009cc6
mov dword [rsp + 0x24], 0
movzx eax, byte [rsp + 0x24]
add rsp, 0x58
pop rdi
pop rsi
ret
Function at 0x14000a020
Capabilities:
Find process by pid

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rsi
push rdi
sub rsp, 0x98
mov rax, qword [0x140016050]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0xc0000001
cmp qword [rsp + 0x30], 0
jne 0x14000a08a
mov eax, dword [rsp + 0xb0]
lea rdx, [rsp + 0x30]
mov ecx, eax
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
test eax, eax
jge 0x14000a08a
xor al, al
jmp 0x14000a26f
lea rax, [rsp + 0x58]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_KeAttachProcess]
nop
mov rcx, qword [rsp + 0xc0]
call fcn.140009710
movzx eax, al
test eax, eax
je 0x14000a22b
mov eax, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc0]
lea rax, [rcx + rax - 1]
mov rcx, rax
call fcn.140009710
movzx eax, al
test eax, eax
je 0x14000a22b
mov dword [rsp + 0x24], 0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x48], rax
cmp dword [0x14001fffc], 0
jne 0x14000a11a
cmp dword [0x14001ffbc], 0
je 0x14000a150
call fcn.1400021a0
cmp dword [0x14001fffc], 0
je 0x14000a12d
call fcn.14000fa90
cmp dword [0x14001ffbc], 0
je 0x14000a150
call fcn.140002740
btr rax, 0x10
mov rcx, rax
call fcn.140002840
mov dword [rsp + 0x24], 1
cmp dword [0x14001fffc], 0
jne 0x14000a1af
cmp dword [0x14001ffbc], 0
jne 0x14000a173
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x40], rax
jb 0x14000a1af
mov r8d, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call fcn.14000aa70
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xc8]
cmp dword [rsp + 0x38], eax
je 0x14000a1a5
mov dword [rsp + 0x20], 0xc0000001
jmp 0x14000a1ad
mov dword [rsp + 0x20], 0
jmp 0x14000a1cc
mov eax, dword [rsp + 0xc8]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov ecx, eax
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0
cmp dword [0x14001fffc], 0
jne 0x14000a1dc
cmp dword [rsp + 0x24], 0
je 0x14000a22b
mov qword [rsp + 0x50], 0
cmp dword [rsp + 0x24], 0
je 0x14000a1fe
call fcn.140002740
bts rax, 0x10
mov rcx, rax
call fcn.140002840
cmp dword [0x14001fffc], 0
je 0x14000a216
call fcn.14000fb50
mov qword [rsp + 0x50], rax
call fcn.14000faf0
call fcn.1400021b0
cmp qword [rsp + 0x50], 0
je 0x14000a22b
mov dword [rsp + 0x20], 0xc0000001
call qword [sym.imp.ntoskrnl.exe_KeDetachProcess]
jmp 0x14000a23b
cmp qword [rsp + 0xb8], 0
jne 0x14000a251
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
cmp dword [rsp + 0x20], 0
jl 0x14000a262
mov dword [rsp + 0x28], 1
jmp 0x14000a26a
mov dword [rsp + 0x28], 0
movzx eax, byte [rsp + 0x28]
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400126d0
add rsp, 0x98
pop rdi
pop rsi
ret
Function at 0x14000a480
Capabilities:
Check os version

Disassembly:
sub rsp, 0x168
mov rax, qword [0x140016050]
xor rax, rsp
mov qword [rsp + 0x150], rax
cmp qword [0x140016118], 0
jne 0x14000a565
mov dword [rsp + 0x30], 0x114
lea rcx, [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_RtlGetVersion]
test eax, eax
je 0x14000a4c5
xor eax, eax
jmp 0x14000a56c
cmp dword [rsp + 0x34], 0xa
jb 0x14000a554
cmp dword [rsp + 0x3c], 0x3839
jb 0x14000a554
call fcn.140002760
and rax, 0xfffffffffffff000
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.ntoskrnl.exe_MmGetVirtualForPhysical]
mov qword [rsp + 0x28], rax
movabs rax, 0xffffff8000000000
mov rcx, qword [rsp + 0x28]
and rcx, rax
mov rax, rcx
mov qword [0x140016118], rax
movabs rax, 0x7ffffffff8
mov rcx, qword [0x140016118]
add rcx, rax
mov rax, rcx
mov qword [0x14001ffe0], rax
movabs rax, 0x7b7ffffff8
mov rcx, qword [0x140016118]
add rcx, rax
mov rax, rcx
mov qword [0x14001ffe8], rax
jmp 0x14000a565
movabs rax, 0xfffff68000000000
mov qword [0x140016118], rax
mov rax, qword [0x140016118]
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1400126d0
add rsp, 0x168
ret
Function at 0x14000a4c0
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x14000a4cd
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x14000a4dd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x14000a4c5
lea eax, [rcx + 1]
call r11
adc eax, eax
add ebx, ebx
jne 0x14000a4f5
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x14000a4e2
sub eax, 3
jb 0x14000a50f
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x14000a546
movsxd rbp, eax
lea eax, [rcx + 1]
call r11
adc ecx, ecx
call r11
adc ecx, ecx
jne 0x14000a536
mov ecx, eax
add eax, 2
call r11
adc ecx, ecx
add ebx, ebx
jne 0x14000a534
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x14000a523
cmp rbp, 0xfffffffffffff300
adc ecx, eax
call fcn.14000a482
jmp 0x14000a4cd
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x1200
mov dl, 1
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x14000a592
cmp rsi, rcx
jae 0x14000a59a
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x14000a579
cmp al, 0x8f
ja 0x14000a579
cmp byte [rsi - 2], 0xf
je 0x14000a57f
sub al, 0xe8
cmp al, 1
ja 0x14000a563
cmp rsi, rcx
jae 0x14000a59a
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x14000a569
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x14000a59a
lodsb al, byte [rsi]
jmp 0x14000a579
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x8000]
mov eax, dword [rdi]
or eax, eax
je 0x14000a5f7
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0xa1dc]
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 0x14000a5a7
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 0x14000a5f1
mov qword [rbx], rax
add rbx, 8
jmp 0x14000a5c7
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 0x14000a631
cmp al, 0xef
ja 0x14000a623
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x14000a603
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
jmp 0x14000a612
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 + 0x22f]
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 0x14000a685
sub rsp, 0xffffffffffffff80
jmp 0x140001640
Function at 0x180003ad0
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je 0x180003af8
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x180003b1e
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x180003b20
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x180003b79
test ecx, ecx
jle 0x180003b59
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x180003b79
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x180003b79
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret