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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4538aa
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], 0
lea rdx, [rsp + 0x18]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x28]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x38]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x48]
movups xmmword [rdx], xmm15
lea rdx, [0x004538e0]
mov qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x18], rdx
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 8]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.0045ae80
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
nop
call fcn.0045afc0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004537e0

Function at 0x459bc0
Capabilities:
Access peb ldr_data

Disassembly:
sub rsp, 0x30
mov qword [rsp + 0x28], rbp
lea rbp, [rsp + 0x28]
mov r13, 0
mov qword [rsp + 0x20], r13
mov byte [rsp + 0x17], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x30]
nop
inc dword [rcx + 0x244]
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x30]
nop
mov rsi, rcx
mov qword [rdx + 0x138], rcx
mov rcx, qword [rsi + 0x30]
mov qword [rsi + 0xe8], rcx
lea rcx, fcn.0043eb80
mov qword [rsp + 0x20], rcx
mov byte [rsp + 0x17], 1
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x18], rcx
mov rdx, qword [rsp + 0x38]
mov qword [rcx + 0x2e0], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rcx + 0x2e8], rdx
lea rdx, [rsp + 0x48]
mov qword [rcx + 0x2f0], rdx
lea rbx, [rcx + 0x2e0]
mov rax, qword [0x00570578]
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
call fcn.004031e0
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rcx + 0x2f8]
mov rsi, qword [rcx + 0x300]
mov rcx, qword [rcx + 0x308]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rcx
mov byte [rsp + 0x17], 0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
call fcn.0043eb80
mov rbp, qword [rsp + 0x28]
add rsp, 0x30
ret
Function at 0x45d100
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4023ef
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
nop
call fcn.00408a60
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045afc0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x4023c0
cmp byte [0x005c4df6], 0
je 0x45d115
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45a0e0
jmp 0x4023c0

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

Disassembly:
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005c50a0]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x005c4df6], 0
je 0x45d155
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005c5320]
aesenc xmm0, xmmword [0x005c5330]
aesenc xmm0, xmmword [0x005c5340]
movq rax, xmm0
ret
jmp 0x408c60

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

Disassembly:
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005c50a0]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x005c4df6], 0
je 0x45d196
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005c5320]
aesenc xmm0, xmmword [0x005c5330]
aesenc xmm0, xmmword [0x005c5340]
movq rax, xmm0
ret
jmp 0x408cc0

Function at 0x45eac0
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x30
mov rcx, 0xfffffffffffffff4
mov qword [rsp], rcx
mov rax, qword [sym.imp.kernel32.dll_GetStdHandle]
call rax
mov rcx, rax
mov qword [rsp], rcx
lea rdx, [0x005c52a0]
mov qword [rsp + 8], rdx
lea r8d, [0x005c4e0c]
mov qword [rsp + 0x10], r8
lea r9, [rsp + 0x28]
mov qword [r9], 0
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], 0
mov rax, qword [sym.imp.kernel32.dll_WriteFile]
call rax
call fcn.0045d060
add rsp, 0x30
ret

Function at 0x45f9a0
Capabilities:
Access peb ldr_data

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], r11
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x50], rax
call fcn.00459ea0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
Function at 0x478180
Capabilities:
Encode data using xor

Disassembly:
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x20]
test rdx, 0xf
jne 0x4781eb
mov rax, 0
movdqu xmm0, xmmword [rsi + rax]
movdqu xmm1, xmmword [rcx + rax]
pxor xmm0, xmm1
movdqu xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rdx, rax
jne 0x4781a4
ret
sub rdx, 1
mov dil, byte [rsi + rdx]
mov al, byte [rcx + rdx]
xor dil, al
mov byte [rbx + rdx], dil
test rdx, 7
jne 0x4781c1
cmp rdx, 0
je 0x47820d
test rdx, 0xf
je 0x47819d
test rdx, 7
jne 0x4781c1
sub rdx, 8
mov rdi, qword [rsi + rdx]
mov rax, qword [rcx + rdx]
xor rdi, rax
mov qword [rbx + rdx], rdi
cmp rdx, 0x10
jge 0x47819d
ret
Function at 0x47a260
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rcx, qword [rsp + 8]
mov rax, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rbx]
add rax, 0x10
pxor xmm0, xmm1
sub rcx, 0xc
je 0x47a29f
jb 0x47a2b4
movups xmm1, xmmword [rax]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesenc xmm0, xmm1
add rax, 0x20
movups xmm1, xmmword [rax]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesenc xmm0, xmm1
add rax, 0x20
movups xmm1, xmmword [rax]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x10]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x20]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x30]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x40]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x50]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x60]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x70]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x80]
aesenc xmm0, xmm1
movups xmm1, xmmword [rax + 0x90]
aesenclast xmm0, xmm1
movups xmmword [rdx], xmm0
ret
Function at 0x47a320
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rcx, qword [rsp + 8]
mov rax, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x20]
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
add rbx, 0x10
pxor xmm4, xmm4
cmp ecx, 0xc
je 0x47a3f0
jb 0x47a44f
movups xmm2, xmmword [rax + 0x10]
movups xmmword [rbx], xmm2
add rbx, 0x10
aeskeygenassist xmm1, xmm2, 1
call fcn.0047a200
aeskeygenassist xmm1, xmm0, 1
call fcn.0047a220
aeskeygenassist xmm1, xmm2, 2
call fcn.0047a200
aeskeygenassist xmm1, xmm0, 2
call fcn.0047a220
aeskeygenassist xmm1, xmm2, 4
call fcn.0047a200
aeskeygenassist xmm1, xmm0, 4
call fcn.0047a220
aeskeygenassist xmm1, xmm2, 8
call fcn.0047a200
aeskeygenassist xmm1, xmm0, 8
call fcn.0047a220
aeskeygenassist xmm1, xmm2, 0x10
call fcn.0047a200
aeskeygenassist xmm1, xmm0, 0x10
call fcn.0047a220
aeskeygenassist xmm1, xmm2, 0x20
call fcn.0047a200
aeskeygenassist xmm1, xmm0, 0x20
call fcn.0047a220
aeskeygenassist xmm1, xmm2, 0x40
call fcn.0047a200
jmp 0x47a4bd
movq xmm2, qword [rax + 0x10]
aeskeygenassist xmm1, xmm2, 1
call fcn.0047a160
aeskeygenassist xmm1, xmm2, 2
call fcn.0047a1c0
aeskeygenassist xmm1, xmm2, 4
call fcn.0047a160
aeskeygenassist xmm1, xmm2, 8
call fcn.0047a1c0
aeskeygenassist xmm1, xmm2, 0x10
call fcn.0047a160
aeskeygenassist xmm1, xmm2, 0x20
call fcn.0047a1c0
aeskeygenassist xmm1, xmm2, 0x40
call fcn.0047a160
aeskeygenassist xmm1, xmm2, 0x80
call fcn.0047a1c0
jmp 0x47a4bd
aeskeygenassist xmm1, xmm0, 1
call fcn.0047a120
aeskeygenassist xmm1, xmm0, 2
call fcn.0047a120
aeskeygenassist xmm1, xmm0, 4
call fcn.0047a120
aeskeygenassist xmm1, xmm0, 8
call fcn.0047a120
aeskeygenassist xmm1, xmm0, 0x10
call fcn.0047a120
aeskeygenassist xmm1, xmm0, 0x20
call fcn.0047a120
aeskeygenassist xmm1, xmm0, 0x40
call fcn.0047a120
aeskeygenassist xmm1, xmm0, 0x80
call fcn.0047a120
aeskeygenassist xmm1, xmm0, 0x1b
call fcn.0047a120
aeskeygenassist xmm1, xmm0, 0x36
call fcn.0047a120
sub rbx, 0x10
movups xmm1, xmmword [rbx]
movups xmmword [rdx], xmm1
dec rcx
movups xmm1, xmmword [rbx - 0x10]
aesimc xmm0, xmm1
movups xmmword [rdx + 0x10], xmm0
sub rbx, 0x10
add rdx, 0x10
dec rcx
jne 0x47a4ca
movups xmm0, xmmword [rbx - 0x10]
movups xmmword [rdx + 0x10], xmm0
ret
Function at 0x47a600
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
shr rdx, 2
dec rdx
movdqu xmm15, xmmword [0x004e3c50]
movdqu xmm14, xmmword [0x004e3cf0]
movdqu xmm0, xmmword [rsi]
movdqu xmm11, xmmword [rsi + 0x10]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x20]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x30]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x40]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x50]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x60]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x70]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x80]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0x90]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xa0]
cmp rdx, 0xc
jb 0x47a6eb
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xb0]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xc0]
je 0x47a6eb
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xd0]
aesenc xmm0, xmm11
movdqu xmm11, xmmword [rsi + 0xe0]
aesenclast xmm0, xmm11
pshufb xmm0, xmm15
pshufd xmm11, xmm0, 0xff
movdqu xmm12, xmm0
psrad xmm11, 0x1f
pand xmm11, xmm14
psrld xmm12, 0x1f
pslldq xmm12, 4
pslld xmm0, 1
pxor xmm0, xmm11
pxor xmm0, xmm12
movdqu xmmword [rdi + 0xe0], xmm0
pshufd xmm1, xmm0, 0x4e
pxor xmm1, xmm0
movdqu xmmword [rdi + 0xf0], xmm1
movdqu xmm2, xmm0
movdqu xmm3, xmm1
mov rax, 7
movdqu xmm11, xmm2
movdqu xmm12, xmm2
movdqu xmm13, xmm3
pclmulqdq xmm11, xmm0, 0
pclmulqdq xmm12, xmm0, 0x11
pclmulqdq xmm13, xmm1, 0
pxor xmm13, xmm11
pxor xmm13, xmm12
movdqu xmm4, xmm13
pslldq xmm4, 8
psrldq xmm13, 8
pxor xmm11, xmm4
pxor xmm12, xmm13
movdqu xmm2, xmm14
pclmulqdq xmm2, xmm11, 1
pshufd xmm11, xmm11, 0x4e
pxor xmm11, xmm2
movdqu xmm2, xmm14
pclmulqdq xmm2, xmm11, 1
pshufd xmm11, xmm11, 0x4e
pxor xmm2, xmm11
pxor xmm2, xmm12
movdqu xmmword [rdi + 0xc0], xmm2
pshufd xmm3, xmm2, 0x4e
pxor xmm3, xmm2
movdqu xmmword [rdi + 0xd0], xmm3
dec rax
lea rdi, [rdi - 0x20]
jne 0x47a750
ret
Function at 0x47d020
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x47d273
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x58], rax
add qword [rax + 0x58], rcx
mov rsi, qword [rax + 0x50]
test rsi, rsi
jle 0x47d150
nop dword [rax + rax]
cmp rsi, 0x40
ja 0x47d265
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x60], rbx
lea r8, [rsi - 0x40]
mov r9, r8
neg r8
cmp rcx, r8
cmovl r8, rcx
mov qword [rsp + 0x28], r8
sar r9, 0x3f
and r9, rsi
lea rsi, [rax + r9]
lea rsi, [rsi + 0x10]
cmp rbx, rsi
je 0x47d0c2
mov rax, rsi
mov rcx, r8
call fcn.0045e000
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x28]
mov rsi, qword [rax + 0x50]
add rsi, r8
mov qword [rax + 0x50], rsi
cmp rsi, 0x40
jne 0x47d12c
mov qword [rsp], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 0x40
mov qword [rsp + 0x18], 0x40
call fcn.0047d560
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x50], 0
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x28]
cmp rcx, r8
jb 0x47d25c
sub rdi, r8
mov rsi, rcx
sub rcx, r8
mov r9, rdi
neg rdi
sar rdi, 0x3f
and r8, rdi
add rbx, r8
jmp 0x47d160
mov rsi, rcx
mov r9, rdi
nop word [rax + rax]
nop
cmp rcx, 0x40
jl 0x47d200
mov rdi, rcx
and rcx, 0xffffffffffffffc0
cmp r9, rcx
jb 0x47d254
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x20], rcx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], r9
call fcn.0047d560
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
cmp rcx, rax
jb 0x47d24f
mov rdx, qword [rsp + 0x38]
mov rsi, rax
sub rax, rdx
mov rdx, rcx
sub rcx, rsi
sar rax, 0x3f
and rax, rdx
and rax, 0xffffffffffffffc0
mov rdx, qword [rsp + 0x40]
lea rbx, [rdx + rax]
mov rax, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
nop dword [rax]
test rcx, rcx
jle 0x47d23e
cmp rcx, 0x40
mov edx, 0x40
cmovl rdx, rcx
lea rdi, [rax + 0x10]
cmp rbx, rdi
je 0x47d23a
mov qword [rsp + 0x38], rdx
mov rax, rdi
mov rcx, rdx
call fcn.0045e000
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
mov qword [rax + 0x50], rdx
mov rax, rsi
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
call fcn.0045d780
mov rdx, r9
call fcn.0045d740
mov rax, r8
nop
call fcn.0045d780
mov rax, rsi
mov ecx, 0x40
call fcn.0045d780
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045afc0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0047d020
Function at 0x11008
Capabilities:
Delete file

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
push rdi
sub rsp, 0x70
mov r8, qword [sym.imp.ntoskrnl.exe_IoFileObjectType]
mov rbx, rcx
lea rcx, [r11 + 0x18]
mov r8, qword [r8]
mov rax, rdx
xor edi, edi
mov qword [r11 - 0x50], rdi
mov qword [r11 - 0x58], rcx
xor r9d, r9d
mov edx, 0x10000
mov rcx, rax
call qword [sym.imp.ntoskrnl.exe_ObReferenceObjectByHandle]
cmp eax, edi
jge 0x1104b
xor al, al
jmp 0x110bb
mov rax, qword [rsp + 0x90]
mov rdx, rbx
mov rcx, qword [rax + 0x28]
mov qword [rcx + 0x10], rdi
lea rcx, [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea rax, [rsp + 0x30]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x40], 0x30
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x58], 0x240
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rdi
call qword [sym.imp.ntoskrnl.exe_ZwDeleteFile]
mov ecx, 1
movzx ebx, dil
cmp eax, edi
cmovge ebx, ecx
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov al, bl
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret
Function at 0x140001718
Capabilities:
Persist via windows service
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x160
mov rdi, rdx
mov rbx, rcx
lea rdx, str.SYSTEMCurrentControlSetServicesEventLogApplication_
lea rcx, [rsp + 0x30]
call fcn.1400266bc
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.1400266d8
lea r8, [rsp + 0x188]
mov rcx, 0xffffffff80000002
lea rdx, [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
xor ebx, ebx
test eax, eax
je 0x140001770
xor eax, eax
jmp 0x140001804
mov rcx, rdi
call fcn.140026704
mov r9d, 2
lea rdx, str.EventMessageFile
xor r8d, r8d
lea ecx, [rax*2 + 2]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x188]
test eax, eax
je 0x1400017ba
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140001769
mov r9d, 4
mov dword [rsp + 0x180], 7
lea rax, [rsp + 0x180]
mov dword [rsp + 0x28], r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.TypesSupported
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x1400017f4
lea ebx, [rax + 1]
mov rcx, qword [rsp + 0x188]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rbx, qword [rsp + 0x170]
add rsp, 0x160
pop rdi
ret

Function at 0x140001878
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], r8
mov qword [r11 + 8], rcx
push rdi
sub rsp, 0x50
lea rax, [r11 + 0x18]
xor ebx, ebx
mov qword [r11 - 0x18], rax
mov rdi, r9
lea rax, [r11 + 8]
mov qword [r11 + 8], rbx
mov qword [r11 - 0x20], rax
xor r9d, r9d
mov qword [r11 - 0x28], rbx
xor r8d, r8d
mov dword [rsp + 0x28], 0xf003f
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x1400018d0
xor eax, eax
jmp 0x140001917
mov rcx, rdi
call fcn.140026704
xor r8d, r8d
lea rdx, str.Splash_screen
lea ecx, [rax*2 + 2]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rdi
mov edi, 1
mov r9d, edi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x60]
test eax, eax
cmove ebx, edi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
Function at 0x140001924
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x2040
call fcn.140037ab0
sub rsp, rax
mov rdi, r9
lea rax, [rsp + 0x30]
xor ebx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140001973
xor eax, eax
jmp 0x1400019d3
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x2060]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x2050]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x2060], 0x2000
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.Splash_screen
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400019c6
lea rdx, [rsp + 0x40]
mov rcx, rdi
lea ebx, [rax + 1]
call fcn.140013a90
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rbx, qword [rsp + 0x2058]
add rsp, 0x2040
pop rdi
ret

Function at 0x1400019ec
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rcx, rdx
call fcn.140001df8
mov rdi, rax
test rax, rax
jne 0x140001b38
cmp dword [0x140058240], eax
je 0x140001a5c
lea rcx, [0x140043fe0]
call fcn.140001c84
test eax, eax
je 0x140001a5c
lea rdx, [0x140043fe0]
lea rcx, [rsp + 0x48]
call fcn.140002fb8
mov rcx, rax
call fcn.140013a24
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea rcx, [rsp + 0x48]
mov rbx, rax
call fcn.140013988
mov rax, rbx
jmp 0x140001b3b
mov rcx, rbx
call fcn.140001b48
mov ecx, eax
test eax, eax
jne 0x140001aad
mov rax, qword [0x140058260]
cmp dword [rax + 0x63a], ecx
jne 0x140001aad
cmp dword [rax + 0x878], ecx
je 0x140001a8f
mov rcx, rbx
call fcn.140001c00
mov ecx, eax
test eax, eax
jne 0x140001aad
mov rcx, rbx
call fcn.140001c84
mov ecx, eax
test eax, eax
jne 0x140001aad
mov rcx, rbx
call fcn.140001d8c
xor ecx, ecx
test rax, rax
setne cl
mov edi, 1
cmp dword [0x1400582ec], edi
je 0x140001adb
test ecx, ecx
mov rcx, rbx
je 0x140001aca
call fcn.140002d2c
mov edi, eax
jmp 0x140001acf
call fcn.140002cc4
test edi, edi
je 0x140001adb
mov rcx, rbx
call fcn.14000254c
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140002fb8
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
jmp 0x140001b13
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, ebx
cmp ecx, 0x1388
ja 0x140001b2e
cmp eax, ebx
jb 0x140001b2e
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x40]
call fcn.140013a24
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, rax
test rax, rax
je 0x140001af2
lea rcx, [rsp + 0x40]
call fcn.140013988
mov rax, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140001ee0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rdi
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rdi, rcx
mov dword [rbp - 0x10], 0x104
mov r9, r8
lea rcx, [rbp - 8]
lea r8, str.SoftwarePC_SOFTFramework25.0
xor ebx, ebx
lea rdx, [0x1400440d8]
call fcn.1400031c4
lea rcx, [rbp - 8]
mov qword [rbp + 0x28], rbx
call fcn.140013a24
lea rcx, [rbp + 0x28]
xor r8d, r8d
mov qword [rsp + 0x20], rcx
lea r9d, [rbx + 1]
mov rcx, 0xffffffff80000002
mov rdx, rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140001f94
mov eax, dword [rbp - 0x10]
lea r9, [rbp + 0x18]
mov rcx, qword [rbp + 0x28]
lea rdx, str.CHEMIN
add eax, eax
mov dword [rbp + 0x18], ebx
mov dword [rbp - 0x10], eax
xor r8d, r8d
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140001f87
lea ebx, [rax + 1]
jmp 0x140001f8a
mov word [rdi], bx
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp - 8]
call fcn.140013988
mov rdi, qword [rsp + 0x60]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rbp
ret

Function at 0x140001ff8
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbp
sub rsp, 0x450
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x430], rbx
mov rbx, rcx
mov qword [rbp + 0x438], rsi
movzx esi, dx
mov qword [rbp + 0x440], rdi
call fcn.140026150
lea ecx, [rax + 1]
movsxd rax, ecx
add rax, rax
lea r8, [rax + 0xf]
cmp r8, rax
ja 0x140002042
movabs r8, 0xffffffffffffff0
and r8, 0xfffffffffffffff0
mov rax, r8
call fcn.140037ab0
sub rsp, r8
or r9d, 0xffffffff
mov r8, rbx
xor edx, edx
mov dword [rsp + 0x28], ecx
lea rdi, [rsp + 0x30]
mov ecx, 0x4e4
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movzx ecx, si
call fcn.14001ca9c
mov r8, rax
test rax, rax
je 0x14000210d
lea rcx, [0x140058248]
call fcn.140013a24
mov r8, qword [r8]
lea r9, [0x1400446c8]
mov rdx, rax
lea rcx, [rbp]
call fcn.14000f7ec
lea rcx, [0x140058248]
call fcn.140013a24
mov rdx, rax
lea r9, [0x1400446c8]
mov r8, rdi
lea rcx, [rbp + 0x210]
call fcn.14000f7ec
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
jmp 0x1400020f9
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, ebx
cmp ecx, 0x1388
ja 0x14000210d
cmp eax, ebx
jb 0x14000210d
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp]
lea rcx, [rbp + 0x210]
call fcn.140001fb8
test eax, eax
je 0x1400020d8
mov rbx, qword [rbp + 0x430]
mov rsi, qword [rbp + 0x438]
mov rdi, qword [rbp + 0x440]
lea rsp, [rbp + 0x420]
pop rbp
ret