joyce8/EMBER2024-capa huggingface dataset:
Function at 0x448580
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rcx, r14
test rcx, rcx
je 0x4485c8
mov rcx, qword [rcx + 0x30]
mov rcx, qword [rcx + 0x90]
nop dword [rax + rax]
test rcx, rcx
je 0x4485c8
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 0x4485d8
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 sym.runtime.stdcall3.abi0
xorps xmm15, xmm15
mov r14, qword [0x005c5630]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
nop
test rax, rax
je 0x4486b1
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 sym.runtime.stdcall8.abi0
xorps xmm15, xmm15
mov r14, qword [0x005c5630]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
cmp qword [rcx], rax
ja 0x4486b1
cmp qword [rcx + 8], rax
ja 0x4485d3
mov eax, 1
add rsp, 0x70
pop rbp
ret
Function at 0x44fd60
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
test rbx, rbx
jbe 0x44fed7
movzx edx, byte [rax]
test edx, edx
jne 0x44fd94
nop dword [rax]
test r8b, r8b
jne 0x44fd94
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
add rsp, 0x10
pop rbp
ret
bt edx, 7
jae 0x44fda7
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x44fe97
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 0x44fe85
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 0x44fe77
movzx esi, byte [rax + r8]
bt esi, 7
jae 0x44fdfd
xor eax, eax
xor esi, esi
xor r8d, r8d
jmp 0x44fe40
mov eax, 1
cmp rax, rbx
ja 0x44fe2b
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 sym.runtime.panicSliceB
lea r8d, [rcx + 7]
mov rcx, r11
mov eax, r12d
nop dword [rax]
cmp rax, rbx
jae 0x44fe6f
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 0x44fe33
mov rcx, r11
mov eax, r12d
jmp 0x44fe02
mov rcx, rbx
call sym.runtime.panicIndex
xor eax, eax
mov rcx, rax
nop dword [rax]
call sym.runtime.panicIndex
mov eax, r8d
mov rcx, rbx
call sym.runtime.panicSliceB
lea r9d, [rcx + 7]
mov rcx, r12
cmp rbx, rdx
jbe 0x44fecd
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 0x44fe90
mov rcx, r12
mov r9d, edx
mov edx, r8d
mov r8d, r9d
jmp 0x44fdad
mov eax, edx
mov rcx, rbx
call sym.runtime.panicIndex
xor eax, eax
mov rcx, rax
nop dword [rax]
call sym.runtime.panicIndex
nop
int3

Function at 0x455aa0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x455b55
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 sym.runtime._traceMap_.put
nop
test bl, bl
je 0x455b4f
mov qword [rsp + 0x18], rax
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
lea rcx, [sym.runtime._traceStringTable_.put.func1]
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 sym.runtime.systemstack.abi0
xorps xmm15, xmm15
mov r14, qword [0x005c5630]
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 sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp sym.runtime._traceStringTable_.put
Function at 0x458aa0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x458b4f
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, [sym.runtime.callers.func1]
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 sym.runtime.systemstack.abi0
xorps xmm15, xmm15
mov r14, qword [0x005c5630]
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 sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax]
jmp sym.runtime.callers

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

Disassembly:
cmp byte [0x005c542b], 0
je 0x46240e
jmp sym.aeshashbody
jmp sym.runtime.memhashFallback

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

Disassembly:
cmp byte [0x005c542b], 0
je 0x462435
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp sym.aeshashbody
jmp sym.runtime.strhashFallback

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

Disassembly:
cmp byte [0x005c542b], 0
je 0x462475
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005c5a20]
aesenc xmm0, xmmword [0x005c5a30]
aesenc xmm0, xmmword [0x005c5a40]
movq rax, xmm0
ret
jmp sym.runtime.memhash32Fallback

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

Disassembly:
cmp byte [0x005c542b], 0
je 0x4624b6
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005c5a20]
aesenc xmm0, xmmword [0x005c5a30]
aesenc xmm0, xmmword [0x005c5a40]
movq rax, xmm0
ret
jmp sym.runtime.memhash64Fallback
Function at 0x463b20
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push rbp
mov rbp, rsp
pushfq
cld
sub rsp, 0xe0
mov qword [rsp], rdi
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r15
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
movups xmmword [rsp + 0x60], xmm8
movups xmmword [rsp + 0x70], xmm9
movups xmmword [rsp + 0x80], xmm10
movups xmmword [rsp + 0x90], xmm11
movups xmmword [rsp + 0xa0], xmm12
movups xmmword [rsp + 0xb0], xmm13
movups xmmword [rsp + 0xc0], xmm14
movups xmmword [rsp + 0xd0], xmm15
xorps xmm15, xmm15
xor r14, r14
mov rax, qword [0x005c5630]
mov rax, qword gs:[rax]
cmp rax, 0
je 0x463bbb
mov r14, qword [rax]
sub rsp, 0x10
mov rax, rcx
mov rbx, rdx
call sym.runtime.sigtrampgo
add rsp, 0x10
mov rdi, qword [rsp]
mov rsi, qword [rsp + 8]
mov rbp, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov r12, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
movups xmm6, xmmword [rsp + 0x40]
movups xmm7, xmmword [rsp + 0x50]
movups xmm8, xmmword [rsp + 0x60]
movups xmm9, xmmword [rsp + 0x70]
movups xmm10, xmmword [rsp + 0x80]
movups xmm11, xmmword [rsp + 0x90]
movups xmm12, xmmword [rsp + 0xa0]
movups xmm13, xmmword [rsp + 0xb0]
movups xmm14, xmmword [rsp + 0xc0]
movups xmm15, xmmword [rsp + 0xd0]
add rsp, 0xe0
popfq
pop rbp
ret

Function at 0x463de0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x28
pushfq
cld
sub rsp, 0xe0
mov qword [rsp], rdi
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r15
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
movups xmmword [rsp + 0x60], xmm8
movups xmmword [rsp + 0x70], xmm9
movups xmmword [rsp + 0x80], xmm10
movups xmmword [rsp + 0x90], xmm11
movups xmmword [rsp + 0xa0], xmm12
movups xmmword [rsp + 0xb0], xmm13
movups xmmword [rsp + 0xc0], xmm14
movups xmmword [rsp + 0xd0], xmm15
mov rax, qword [0x005c5630]
mov rax, qword gs:[rax]
cmp rax, 0
jne 0x463e77
int 3
mov r14, qword [rax]
sub rsp, 0x28
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], r9
call sym.runtime.sehhandler.abi0
mov eax, dword [rsp + 0x20]
add rsp, 0x28
mov rdi, qword [rsp]
mov rsi, qword [rsp + 8]
mov rbp, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov r12, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
movups xmm6, xmmword [rsp + 0x40]
movups xmm7, xmmword [rsp + 0x50]
movups xmm8, xmmword [rsp + 0x60]
movups xmm9, xmmword [rsp + 0x70]
movups xmm10, xmmword [rsp + 0x80]
movups xmm11, xmmword [rsp + 0x90]
movups xmm12, xmmword [rsp + 0xa0]
movups xmm13, xmmword [rsp + 0xb0]
movups xmm14, xmmword [rsp + 0xc0]
movups xmm15, xmmword [rsp + 0xd0]
add rsp, 0xe0
popfq
add rsp, 0x28
pop rbp
ret
Function at 0x464240
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 0x464274
mov rcx, 0x28
jmp 0x46427f
shl rcx, 3
add rcx, 0x1480
mov qword [0x005c5630], rcx
pop rbp
ret
Function at 0x47b8e0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x47b9aa
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 sym.internal_bytealg.IndexByteString.abi0
xorps xmm15, xmm15
mov r14, qword [0x005c5630]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
jne 0x47b98f
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx + 1]
mov qword [rsp + 0x40], rdx
lea rax, [0x00491d20]
xor ebx, ebx
mov rcx, rdx
call sym.runtime.makeslice
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 sym.syscall.encodeWTF16
inc rbx
cmp rcx, rbx
jae 0x47b97e
mov edi, 1
lea rsi, [0x00491d20]
call sym.runtime.growslice
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, [0x004c8eb8]
lea rsi, [0x004c8850]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp sym.syscall.UTF16FromString
Function at 0x180019f00
Capabilities:
Terminate process

Disassembly:
mov dword [rsp + 8], ecx
sub rsp, 0x28
mov ecx, dword [rsp + 0x30]
call fcn.180019f40
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0xfffffff7
jg 0x180019f2c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [rsp + 0x30]
add rsp, 0x28
ret
Function at 0x14000ae40
Capabilities:
Write file on windows

Disassembly:
push rdi
sub rsp, 0x40
mov rax, qword [0x140048010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ecx, 3
mov word [rsp + 0x30], 0x9009
call fcn.1400195f4
mov rdi, rax
test rax, rax
je 0x14000ae8e
movzx eax, word [rsp + 0x30]
mov word [rdi], ax
mov byte [rdi + 2], 0x83
mov rcx, qword [0x14004ab38]
test rcx, rcx
jne 0x14000aea3
mov rcx, rdi
call fcn.140018b90
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret
lea r9, [rsp + 0x34]
mov qword [rsp + 0x50], rbx
mov r8d, 3
mov dword [rsp + 0x34], 0
mov rdx, rdi
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
mov ebx, eax
call fcn.140018b90
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret

Function at 0x14000af00
Capabilities:
Write file on windows

Disassembly:
push rdi
sub rsp, 0x40
mov rax, qword [0x140048010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ecx, 3
mov word [rsp + 0x30], 0x9009
call fcn.1400195f4
mov rdi, rax
test rax, rax
je 0x14000af4e
movzx eax, word [rsp + 0x30]
mov word [rdi], ax
mov byte [rdi + 2], 1
mov rcx, qword [0x14004ab38]
test rcx, rcx
jne 0x14000af63
mov rcx, rdi
call fcn.140018b90
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret
lea r9, [rsp + 0x34]
mov qword [rsp + 0x50], rbx
mov r8d, 3
mov dword [rsp + 0x34], 0
mov rdx, rdi
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
mov ebx, eax
call fcn.140018b90
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret

Function at 0x14000afc0
Capabilities:
Write file on windows

Disassembly:
push rdi
sub rsp, 0x40
mov rax, qword [0x140048010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ecx, 3
mov word [rsp + 0x30], 0x9009
call fcn.1400195f4
mov rdi, rax
test rax, rax
je 0x14000b00e
movzx eax, word [rsp + 0x30]
mov word [rdi], ax
mov byte [rdi + 2], 3
mov rcx, qword [0x14004ab38]
test rcx, rcx
jne 0x14000b023
mov rcx, rdi
call fcn.140018b90
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret
lea r9, [rsp + 0x34]
mov qword [rsp + 0x50], rbx
mov r8d, 3
mov dword [rsp + 0x34], 0
mov rdx, rdi
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
mov ebx, eax
call fcn.140018b90
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret
Function at 0x14000b080
Capabilities:
Write file on windows

Disassembly:
push rdi
sub rsp, 0x40
mov rax, qword [0x140048010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r8d, 1
mov word [rsp + 0x30], 0x9009
lea rdx, str.CurrentLightLevelSetting
call fcn.14000cc00
mov ecx, 3
mov dword [0x14004ab50], 1
call fcn.1400195f4
mov rdi, rax
test rax, rax
je 0x14000b0ea
movzx eax, word [rsp + 0x30]
mov word [rdi], ax
mov byte [rdi + 2], 0x13
mov rcx, qword [0x14004ab38]
test rcx, rcx
jne 0x14000b0ff
mov rcx, rdi
call fcn.140018b90
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret
lea r9, [rsp + 0x34]
mov qword [rsp + 0x50], rbx
mov r8d, 3
mov dword [rsp + 0x34], 0
mov rdx, rdi
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
mov ebx, eax
call fcn.140018b90
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret

Function at 0x14000b150
Capabilities:
Write file on windows

Disassembly:
push rdi
sub rsp, 0x40
mov rax, qword [0x140048010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r8d, 2
mov word [rsp + 0x30], 0x9009
lea rdx, str.CurrentLightLevelSetting
call fcn.14000cc00
mov ecx, 3
mov dword [0x14004ab50], 2
call fcn.1400195f4
mov rdi, rax
test rax, rax
je 0x14000b1ba
movzx eax, word [rsp + 0x30]
mov word [rdi], ax
mov byte [rdi + 2], 0x23
mov rcx, qword [0x14004ab38]
test rcx, rcx
jne 0x14000b1cf
mov rcx, rdi
call fcn.140018b90
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret
lea r9, [rsp + 0x34]
mov qword [rsp + 0x50], rbx
mov r8d, 3
mov dword [rsp + 0x34], 0
mov rdx, rdi
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
mov ebx, eax
call fcn.140018b90
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400109a0
add rsp, 0x40
pop rdi
ret
Function at 0x14000c2e0
Capabilities:
Access the windows event log

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x110
mov rax, qword [0x140048010]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rdi, rcx
lea rsi, [0x14003f598]
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x14000c398
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9, rdi
lea r8, str._s_failed_with__d
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x20], eax
mov edx, 0x50
call fcn.1400010a0
xor ecx, ecx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rcx
lea rax, [rsp + 0x60]
mov r9d, 2
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ecx
mov word [rsp + 0x28], r9w
lea edx, [r9 - 1]
mov qword [rsp + 0x20], rcx
mov r9d, 0xc0020001
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400109a0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x14000c5c0
Capabilities:
Connect pipe
Create pipe
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x260
mov rax, qword [0x140048010]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov rbp, rdx
mov dword [rsp + 0x48], 0xffffffff
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
lea rdx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
xor r14d, r14d
lea ebx, [r14 + 1]
nop
cmp dword [rsp + 0x48], r14d
jne 0x14000c665
lea rcx, [rsp + 0x40]
call fcn.14000d530
test eax, eax
je 0x14000c65f
mov qword [rsp + 0x38], r14
mov r9d, ebx
mov dword [rsp + 0x30], r14d
xor r8d, r8d
mov dword [rsp + 0x28], r14d
mov edx, ebx
mov rcx, rsi
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov rdi, rax
call qword [sym.imp.ADVAPI32.dll_RevertToSelf]
test eax, eax
jne 0x14000c68d
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14000c68d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x38], r14
mov r9d, ebx
mov dword [rsp + 0x30], r14d
xor r8d, r8d
mov dword [rsp + 0x28], r14d
mov edx, ebx
mov rcx, rsi
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov rdi, rax
lea rax, [rdi + 1]
test rax, 0xfffffffffffffffe
jne 0x14000c6d4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xe7
jne 0x14000c6c4
mov edx, 0xffffffff
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000c610
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000c610
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
je 0x14000c771
nop word [rax + rax]
xor edx, edx
mov dword [rsp + 0x40], r14d
mov r8d, 0x1fe
lea rcx, [rsp + 0x50]
call fcn.1400143e0
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], r14
mov r8d, 0x1fe
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000c74a
lea rdx, [rsp + 0x50]
lea rcx, str.CreatePipeServer__:_PipeServerThread_Recive___s__n
call fcn.140009ed0
lea rcx, [rsp + 0x50]
call rbp
test eax, eax
je 0x14000c76b
mov ebx, r14d
jmp 0x14000c76b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
jne 0x14000c75a
mov ebx, r14d
jmp 0x14000c76b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
test ebx, ebx
jne 0x14000c6f0
jmp 0x14000c777
call qword [sym.imp.KERNEL32.dll_GetLastError]
test rdi, rdi
je 0x14000c78e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.1400109a0
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x14000cc00
Capabilities:
Persist via windows service
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x70
mov rax, qword [0x140048010]
xor rax, rsp
mov qword [rsp + 0x68], rax
xor ebx, ebx
mov dword [rsp + 0x58], r8d
mov r8, rdx
mov qword [rsp + 0x50], rbx
mov rdi, rdx
mov dword [rsp + 0x60], ebx
lea rdx, str.SYSTEMCurrentControlSetServicesLPlatSvcParametersAutomaticKeyboardLight
lea rcx, str.Enter_SetRegKeyDwordValue_HKLM:_s__s___n
call fcn.140009ed0
lea rax, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea rdx, str.SYSTEMCurrentControlSetServicesLPlatSvcParametersAutomaticKeyboardLight
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x14000cc8d
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14000ccd8
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x28], 4
mov r9d, 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x14000ccd8
mov r9d, dword [rsp + 0x58]
lea rdx, str.SYSTEMCurrentControlSetServicesLPlatSvcParametersAutomaticKeyboardLight
mov r8, rdi
lea rcx, str.Enter_SetRegKeyDwordValue_Set_the_value:_s_s___x__n
call fcn.140009ed0
lea ebx, [rax + 1]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14000cce8
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400109a0
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret