joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5447c0
Capabilities:
Hash data using sha384
Hash data using sha512

Disassembly:
mov rcx, qword [rax + 0xd0]
cmp rcx, 6
jne 0x544845
movabs rcx, 0xcbbb9d5dc1059ed8
mov qword [rax], rcx
movabs rcx, 0x629a292a367cd507
mov qword [rax + 8], rcx
movabs rcx, 0x9159015a3070dd17
mov qword [rax + 0x10], rcx
movabs rcx, 0x152fecd8f70e5939
mov qword [rax + 0x18], rcx
movabs rcx, 0x67332667ffc00b31
mov qword [rax + 0x20], rcx
movabs rcx, 0x8eb44a8768581511
mov qword [rax + 0x28], rcx
movabs rcx, 0xdb0c2e0d64f98fa7
mov qword [rax + 0x30], rcx
movabs rcx, 0x47b5481dbefa4fa4
mov qword [rax + 0x38], rcx
nop dword [rax]
jmp 0x5449a6
cmp rcx, 0xe
jne 0x5448c0
movabs rcx, 0x8c3d37c819544da2
mov qword [rax], rcx
movabs rcx, 0x73e1996689dcd4d6
mov qword [rax + 8], rcx
movabs rcx, 0x1dfab7ae32ff9c82
mov qword [rax + 0x10], rcx
movabs rcx, 0x679dd514582f9fcf
mov qword [rax + 0x18], rcx
movabs rcx, 0xf6d2b697bd44da8
mov qword [rax + 0x20], rcx
movabs rcx, 0x77e36f7304c48942
mov qword [rax + 0x28], rcx
movabs rcx, 0x3f9d85a86a1d36c8
mov qword [rax + 0x30], rcx
movabs rcx, 0x1112e6ad91d692a1
mov qword [rax + 0x38], rcx
jmp 0x5449a6
cmp rcx, 0xf
jne 0x544937
movabs rcx, 0x22312194fc2bf72c
mov qword [rax], rcx
movabs rcx, 0x9f555fa3c84c64c2
mov qword [rax + 8], rcx
movabs rcx, 0x2393b86b6f53b151
mov qword [rax + 0x10], rcx
movabs rcx, 0x963877195940eabd
mov qword [rax + 0x18], rcx
movabs rcx, 0x96283ee2a88effe3
mov qword [rax + 0x20], rcx
movabs rcx, 0xbe5e1e2553863992
mov qword [rax + 0x28], rcx
movabs rcx, 0x2b0199fc2c85b8aa
mov qword [rax + 0x30], rcx
movabs rcx, 0xeb72ddc81c52ca2
mov qword [rax + 0x38], rcx
jmp 0x5449a6
movabs rcx, 0x6a09e667f3bcc908
mov qword [rax], rcx
movabs rcx, 0xbb67ae8584caa73b
mov qword [rax + 8], rcx
movabs rcx, 0x3c6ef372fe94f82b
mov qword [rax + 0x10], rcx
movabs rcx, 0xa54ff53a5f1d36f1
mov qword [rax + 0x18], rcx
movabs rcx, 0x510e527fade682d1
mov qword [rax + 0x20], rcx
movabs rcx, 0x9b05688c2b3e6c1f
mov qword [rax + 0x28], rcx
movabs rcx, 0x1f83d9abfb41bd6b
mov qword [rax + 0x30], rcx
movabs rcx, 0x5be0cd19137e2179
mov qword [rax + 0x38], rcx
movups xmmword [rax + 0xc0], xmm15
ret
Function at 0x54a620
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x54a774
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov qword [rsp + 0x88], rbx
mov rcx, qword [rax]
mov qword [rsp + 0x20], rcx
movups xmm0, xmmword [rax + 8]
movups xmmword [rsp + 0x28], xmm0
movups xmm0, xmmword [rax + 0x18]
movups xmmword [rsp + 0x38], xmm0
lea rax, [rsp + 0x20]
nop
call fcn.0054a2c0
mov qword [rsp + 0x10], 0
movups xmmword [rsp + 0x48], xmm15
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x60], xmm15
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x88]
xor eax, eax
jmp 0x54a6c4
inc rax
mov rcx, rbx
cmp rax, 5
jge 0x54a715
imul rdx, rax, 0x33
mov rsi, rdx
sar rdx, 0x3f
shr rdx, 0x3d
add rdx, rsi
sar rdx, 3
mov rdi, rdx
shl rdx, 3
sub rsi, rdx
cmp rsi, 0x40
sbb rdx, rdx
mov r8, qword [rsp + rax*8 + 0x48]
mov rbx, rcx
mov rcx, rsi
shl r8, cl
and r8, rdx
mov qword [rsp + 0x10], r8
mov rdx, qword [rsp + 0x10]
mov qword [rsp + 0x18], rdx
xor ecx, ecx
jmp 0x54a740
test byte [rcx], al
mov rax, rcx
mov ebx, 0x20
mov rcx, rbx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
movzx r8d, byte [rbx + rsi]
or r8d, edx
mov byte [rbx + rsi], r8b
inc rcx
nop dword [rax + rax]
cmp rcx, 8
jge 0x54a6be
movzx edx, byte [rsp + rcx + 0x18]
lea rsi, [rdi + rcx]
cmp rsi, 0x20
jge 0x54a6be
test byte [rbx], al
nop
cmp rsi, 0x20
jb 0x54a72c
mov rax, rsi
mov ecx, 0x20
call fcn.00463b20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
nop
call fcn.00461440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.0054a620
Function at 0x552020
Capabilities:
Parse credit card information

Disassembly:
lea ecx, [rax - 0x61]
cmp cl, 0x19
jbe 0x552038
lea ecx, [rax - 0x41]
cmp cl, 0x19
jbe 0x552038
lea ecx, [rax - 0x30]
cmp cl, 9
ja 0x552040
xor eax, eax
ret
cmp rbx, 3
je 0x55204c
cmp rbx, 4
jne 0x552079
cmp al, 0x2c
ja 0x552066
lea ecx, [rax - 0x21]
cmp cl, 1
jbe 0x552076
cmp al, 0x24
je 0x552076
nop dword [rax]
cmp al, 0x26
jae 0x552076
jmp 0x552079
lea ecx, [rax - 0x3a]
cmp cl, 4
jbe 0x552076
cmp al, 0x5b
je 0x552076
cmp al, 0x5d
jne 0x552079
xor eax, eax
ret
cmp al, 0x2f
ja 0x5520b2
nop dword [rax]
cmp al, 0x26
ja 0x552091
cmp al, 0x24
je 0x5520d1
cmp al, 0x26
je 0x5520d1
jmp 0x55214b
lea ecx, [rax - 0x2b]
cmp cl, 1
jbe 0x5520d1
lea ecx, [rax - 0x2d]
nop dword [rax]
cmp cl, 1
jbe 0x552148
cmp al, 0x2f
je 0x5520d1
jmp 0x55214b
cmp al, 0x3d
ja 0x5520c9
lea ecx, [rax - 0x3a]
cmp cl, 1
jbe 0x5520d1
nop
cmp al, 0x3d
je 0x5520d1
jmp 0x55214b
lea ecx, [rax - 0x3f]
cmp cl, 1
ja 0x552140
cmp rbx, 2
jg 0x552107
cmp rbx, 1
je 0x552101
nop dword [rax]
cmp rbx, 2
jne 0x55214b
cmp al, 0x2f
je 0x5520f2
cmp al, 0x3b
je 0x5520f2
cmp al, 0x2c
jne 0x5520f9
mov ecx, 1
jmp 0x5520fe
cmp al, 0x3f
sete cl
mov eax, ecx
ret
cmp al, 0x3f
sete al
ret
cmp rbx, 5
jne 0x55212a
cmp al, 0x40
je 0x552119
cmp al, 0x2f
je 0x552119
cmp al, 0x3f
jne 0x552122
mov ecx, 1
nop
jmp 0x552127
cmp al, 0x3a
sete cl
mov eax, ecx
ret
cmp rbx, 6
je 0x552139
cmp rbx, 7
jne 0x55214b
xor eax, eax
ret
mov eax, 1
ret
cmp al, 0x5f
je 0x552148
cmp al, 0x7e
jne 0x55214b
xor eax, eax
ret
cmp rbx, 7
jne 0x552161
cmp al, 0x21
je 0x55215d
lea ecx, [rax - 0x28]
cmp cl, 2
ja 0x552161
xor eax, eax
nop
ret
mov eax, 1
ret
Function at 0x559f60
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
movd xmm0, dword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movdqu xmm1, xmmword [rsi]
movdqu xmm2, xmmword [rsi + 0x10]
movdqu xmm3, xmmword [rsi + 0x20]
movdqu xmm4, xmmword [rsi + 0x30]
pxor xmm1, xmm0
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jb 0x55a035
movdqa xmm0, xmmword [0x00665e60]
movdqa xmm5, xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
movdqa xmm8, xmm4
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm2, xmm0, 0
pclmulqdq xmm3, xmm0, 0
pclmulqdq xmm4, xmm0, 0
movdqu xmm11, xmmword [rsi]
movdqu xmm12, xmmword [rsi + 0x10]
movdqu xmm13, xmmword [rsi + 0x20]
movdqu xmm14, xmmword [rsi + 0x30]
pclmulqdq xmm5, xmm0, 0x11
pclmulqdq xmm6, xmm0, 0x11
pclmulqdq xmm7, xmm0, 0x11
pclmulqdq xmm8, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
pxor xmm4, xmm8
pxor xmm1, xmm11
pxor xmm2, xmm12
pxor xmm3, xmm13
pxor xmm4, xmm14
add rdi, 0x40
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jge 0x559fa1
movdqa xmm0, xmmword [0x00665e70]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm2
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm3
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm4
cmp rcx, 0x10
jb 0x55a0b7
movdqu xmm10, xmmword [rsi]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm10
sub rcx, 0x10
add rsi, 0x10
cmp rcx, 0x10
jge 0x55a08b
pcmpeqb xmm3, xmm3
pclmulqdq xmm0, xmm1, 1
psrldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm2, xmm1
movq xmm0, qword [0x006659b8]
psrlq xmm3, 0x20
psrldq xmm2, 4
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
movdqa xmm0, xmmword [0x00666230]
movdqa xmm2, xmm1
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0x10
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
pextrd eax, xmm1, 1
mov dword [rsp + 0x28], eax
ret
Function at 0x1407d2058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.1407d21df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x1407d2089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1407d206f
add dl, dl
jne 0x1407d2096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1407d20f6
xor eax, eax
add dl, dl
jne 0x1407d20a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1407d21ad
add dl, dl
jne 0x1407d20b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407d20c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407d20d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407d20dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1407d20ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x1407d207e
mov eax, 1
add dl, dl
jne 0x1407d2106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407d2113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1407d20fb
sub eax, ebx
mov ebx, 1
jne 0x1407d214c
mov ecx, 1
add dl, dl
jne 0x1407d212e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1407d213b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1407d2123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1407d207e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1407d2168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1407d2175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1407d215d
cmp eax, 0x7d00
jae 0x1407d219b
cmp eax, 0x500
jb 0x1407d2196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1407d207e
cmp eax, 0x7f
ja 0x1407d219e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1407d207e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1407d21d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x1407d207e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x1400080a0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x280
mov edi, 0x80004005
lea rcx, [rsp + 0x30]
call fcn.140002d80
nop
xor esi, esi
mov ebx, esi
cmp qword [rsp + 0x30], rbx
je 0x14000812e
mov ecx, 0xd0
call fcn.14001eac0
mov qword [rsp + 0x290], rax
test rax, rax
je 0x1400080f1
mov rcx, rax
call fcn.1400078d0
mov rbx, rax
jmp 0x1400080f4
mov rbx, rsi
test rbx, rbx
je 0x14000812e
mov rcx, rbx
call fcn.140007d00
mov edi, eax
test eax, eax
js 0x14000812e
lfence
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
mov r9, rbx
lea r8, [0x140008320]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0xb8], rax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140008145
lock inc dword [rax + 8]
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140002ef0
test edi, edi
jns 0x1400082b6
test rbx, rbx
je 0x1400082b6
mov dword [rbx], 1
cmp qword [rbx + 8], 0
je 0x140008185
lfence
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
cmp qword [rbx + 0xb8], 0
je 0x1400081a6
lfence
mov rcx, qword [rbx + 0xb8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0xb8], rsi
cmp qword [rbx + 0x28], 0
je 0x140008250
lfence
xor eax, eax
mov qword [rsp + 0x54], rax
mov dword [rsp + 0x6c], eax
xor edx, edx
mov r8d, 0x1fb
lea rcx, [rsp + 0x84]
call fcn.140020de0
mov dword [rsp + 0x50], 7
mov dword [rsp + 0x5c], esi
mov rax, qword [rbx + 8]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x68], 0x3000
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x80], 0x1000
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x20], esi
xor r9d, r9d
mov r8d, 0x22f
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x28]
call fcn.1400032f0
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x40], rsi
cmp qword [rbx + 0x20], 0
je 0x140008250
lfence
mov rcx, qword [rbx + 0x20]
call fcn.1400263a0
mov qword [rbx + 0x20], rsi
cmp qword [rbx + 0x10], 0
je 0x140008268
lfence
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], rsi
cmp qword [rbx + 8], 0
je 0x140008280
lfence
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], rsi
cmp qword [rbx + 0x38], 0
je 0x140008298
lfence
mov rcx, qword [rbx + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x38], rsi
lfence
mov rcx, rbx
call fcn.140007ad0
lfence
mov edx, 0xd0
mov rcx, rbx
call fcn.14001eafc
mov rbx, rsi
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x1400082fa
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1400082fa
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [0x140036618]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x1400082fa
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [0x140036618]
mov rax, rbx
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x14000ea30
Capabilities:
Accept command line arguments

Disassembly:
sub rsp, 0x58
cmp byte [0x14004b858], 0
je 0x14000ea47
mov eax, 0xffffffff
add rsp, 0x58
ret
mov qword [rsp + 0x50], rbx
xor ebx, ebx
mov dword [rsp + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
lea r8, [rsp + 0x20]
lea rcx, [0x14004b8d0]
call fcn.14000ed10
cmp al, 1
jne 0x14000eb11
call fcn.14001ce20
cmp byte [rax], bl
je 0x14000eb0a
call fcn.14001ce20
cmp byte [rax + 0x90], bl
je 0x14000eb0a
call fcn.14001ce20
cmp byte [rax + 0x50], bl
je 0x14000eb0a
call fcn.14001ce20
cmp byte [rax + 0xa0], bl
je 0x14000eb0a
call fcn.14001ce20
cmp byte [rax + 0xb0], bl
je 0x14000eb0a
call fcn.14001ce20
cmp byte [rax + 0xc0], bl
je 0x14000eb0a
lea rax, [0x14004b938]
mov dword [0x14004bb5c], 1
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
lea rax, [0x140011020]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rbx
call qword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherW]
test eax, eax
jne 0x14000eb15
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x14004bb4c], eax
mov ebx, eax
jmp 0x14000eb15
mov ebx, 0x80070032
jmp 0x14000eb15
mov ebx, dword [rsp + 0x20]
cmp dword [0x14004bb5c], 0
jne 0x14000eb2d
cmp byte [0x14004b932], 0
je 0x14000eb2d
call qword [sym.imp.ole32.dll_CoUninitialize]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
add rsp, 0x58
ret
Function at 0x1400104b0
Capabilities:
Create service

Disassembly:
push rdi
sub rsp, 0xa90
mov rax, qword [0x14004a0e8]
xor rax, rsp
mov qword [rsp + 0xa80], rax
mov rdi, rcx
call fcn.140010730
test eax, eax
je 0x1400104e1
mov eax, 1
jmp 0x1400105e8
mov r8d, 0x104
lea rdx, [rsp + 0x72]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1400106de
cmp eax, 0x104
je 0x1400106de
lea ecx, [rax + 1]
mov r8d, 0x22
mov word [rsp + 0x70], r8w
mov word [rsp + rcx*2 + 0x70], r8w
lea ecx, [rax + 2]
add rcx, rcx
cmp rcx, 0x20c
jae 0x140010727
mov qword [rsp + 0xaa8], rbx
xor edx, edx
mov qword [rsp + 0xab0], rsi
mov r8d, 0xf003f
xor esi, esi
mov word [rsp + rcx + 0x70], si
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rbx, rax
test rax, rax
jne 0x140010601
mov r8d, 0x400
lea rdx, [rsp + 0x280]
mov ecx, 0xd80a
call fcn.140010390
test eax, eax
jne 0x1400105bf
lea r8, str.Could_not_open_Service_Manager
mov edx, 0x400
lea rcx, [rsp + 0x280]
call fcn.1400283b0
test eax, eax
je 0x1400105bf
cmp eax, 0xc
je 0x1400106fb
cmp eax, 0x16
je 0x1400106f0
cmp eax, 0x22
je 0x1400106f0
cmp eax, 0x50
jne 0x1400106e5
lea r8, [rdi + 0x68]
xor r9d, r9d
lea rdx, [rsp + 0x280]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
mov rbx, qword [rsp + 0xaa8]
mov rsi, qword [rsp + 0xab0]
mov rcx, qword [rsp + 0xa80]
xor rcx, rsp
call fcn.14001eb90
add rsp, 0xa90
pop rdi
ret
mov qword [rsp + 0x60], rsi
lea rax, str.RPCSS
mov qword [rsp + 0x58], rsi
add rdi, 0x68
mov qword [rsp + 0x50], rax
mov r9d, 0xf01ff
mov qword [rsp + 0x48], rsi
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rsi
mov r8, rdi
mov qword [rsp + 0x38], rax
mov rdx, rdi
mov dword [rsp + 0x30], 1
mov rcx, rbx
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.ADVAPI32.dll_CreateServiceW]
test rax, rax
jne 0x1400106c2
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov r8d, 0x400
lea rdx, [rsp + 0x280]
mov ecx, 0xd80b
call fcn.140010390
test eax, eax
jne 0x1400106b7
lea r8, str.Could_not_start_service
mov edx, 0x400
lea rcx, [rsp + 0x280]
call fcn.1400283b0
test eax, eax
je 0x1400106b7
cmp eax, 0xc
je 0x14001071c
cmp eax, 0x16
je 0x140010711
cmp eax, 0x22
je 0x140010711
cmp eax, 0x50
jne 0x140010706
xor r9d, r9d
mov r8, rdi
jmp 0x1400105c6
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, 1
jmp 0x1400105d8
xor eax, eax
jmp 0x1400105e8
mov ecx, 0x80004005
call fcn.140004120
int3
mov ecx, 0x80070057
call fcn.140004120
int3
mov ecx, 0x8007000e
call fcn.140004120
int3
mov ecx, 0x80004005
call fcn.140004120
int3
mov ecx, 0x80070057
call fcn.140004120
int3
mov ecx, 0x8007000e
call fcn.140004120
int3
call fcn.14001f354
int3
Function at 0x1400107b0
Capabilities:
Acquire debug privileges

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x60
cmp dword [rcx + 0x28c], 0
mov rsi, rcx
je 0x1400108e0
lea rdx, str.SeDebugPrivilege
mov qword [rsp + 0x90], r14
call fcn.14000f530
lea rdx, str.SeImpersonatePrivilege
mov rcx, rsi
call fcn.14000f530
lea rdx, str.SeTcbPrivilege
mov rcx, rsi
call fcn.14000f530
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movzx edx, byte [rsi + 0x299]
movzx ecx, byte [rsi + 0x298]
mov dword [rsi + 0x290], eax
call fcn.140019460
test rax, rax
jne 0x140010825
mov eax, 0x8007000e
jmp 0x14001082f
xor edx, edx
mov rcx, rax
call fcn.1400196b0
xor ebx, ebx
lea rcx, [rsp + 0x20]
test eax, eax
cmovns ebx, eax
call fcn.140002d80
mov rcx, qword [rsp + 0x20]
call fcn.140003b10
mov rdi, qword [rsp + 0x28]
test eax, eax
setne r14b
test rdi, rdi
je 0x1400108a4
mov qword [rsp + 0x88], rbp
mov ebp, 0xffffffff
mov eax, ebp
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14001089c
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [0x140036618]
lock xadd dword [rdi + 0xc], ebp
cmp ebp, 1
jne 0x14001089c
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [0x140036618]
mov rbp, qword [rsp + 0x88]
mov eax, 0x80004005
test r14b, r14b
cmove ebx, eax
xor edx, edx
xor ecx, ecx
call fcn.14001eafc
xor ecx, ecx
call fcn.1400263a0
xor ecx, ecx
call fcn.1400263a0
xor ecx, ecx
call fcn.1400263a0
xor ecx, ecx
call fcn.1400263a0
mov r14, qword [rsp + 0x90]
test ebx, ebx
js 0x14001091f
cmp dword [rsi + 0x28c], 0
je 0x140010908
mov eax, 4
lea rdx, [rsi + 0x270]
xchg dword [rsi + 0x274], eax
mov rcx, qword [rsi + 0x268]
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
mov rcx, rsi
call fcn.14000fa20
lfence
mov rcx, rsi
call fcn.14000f5f0
mov ebx, eax
test eax, eax
jne 0x14001096f
xor r9d, r9d
lea rcx, [rsp + 0x30]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jle 0x140010973
nop dword [rax + rax]
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
lea rcx, [rsp + 0x30]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jg 0x140010940
jmp 0x140010973
test ebx, ebx
js 0x1400109d3
mov rbx, qword [0x14004a060]
xor edi, edi
mov rdx, qword [0x14004a068]
cmp rbx, rdx
jae 0x1400109b7
test edi, edi
jne 0x1400109b7
mov rax, qword [rbx]
test rax, rax
je 0x1400109ae
mov rax, qword [rax + 0x20]
mov ecx, dword [rax + 8]
test ecx, ecx
je 0x1400109ae
call qword [sym.imp.ole32.dll_CoRevokeClassObject]
mov rdx, qword [0x14004a068]
mov edi, eax
add rbx, 8
cmp rbx, rdx
jb 0x140010988
cmp byte [rsi + 0x60], 0
je 0x1400109c9
lfence
mov ecx, dword [rsi + 0x5c]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, edi
add rsp, 0x60
pop rdi
pop rsi
pop rbx
ret
mov eax, ebx
add rsp, 0x60
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400154c0
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
mov rdi, qword [rcx + 0x10]
mov rsi, rdx
mov rbx, rcx
test rdi, rdi
je 0x140015579
cmp qword [rdi], 0
mov rbx, qword [rcx]
je 0x140015545
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je case.default.0x14001555d
lea rdx, str.RegDeleteKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je case.default.0x14001555d
mov rdx, qword [rdi]
xor r9d, r9d
mov qword [rsp + 0x28], 0
xor r8d, r8d
mov qword [rsp + 0x20], rdx
mov rcx, rbx
mov rdx, rsi
call qword [0x140036618]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
cmp dword [rdi + 8], 0
je case.default.0x14001555d
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov eax, 1
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
cmp byte [0x14004bbb8], 0
jne 0x1400155c4
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400155b4
lea rdx, [0x140037fb0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14004bbb0], rax
mov byte [0x14004bbb8], 1
jmp 0x1400155cb
mov rax, qword [0x14004bbb0]
mov byte [0x14004bbb8], 1
jmp 0x1400155cb
mov rax, qword [0x14004bbb0]
mov rcx, qword [rbx]
mov rdx, rsi
test rax, rax
je 0x14001554e
mov r8d, dword [rbx + 8]
xor r9d, r9d
call qword [0x140036618]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
int 0x9d
sbb dword [rdi], eax
xchg esp, eax
scasb al, byte [rdi]
out dx, eax
adc byte [rcx + 0x65], al
retf 0x1faf