joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4ee400
Capabilities:
Encrypt data using rc4 prga

Disassembly:
lea r12, [rsp - 0xa0]
cmp r12, qword [r14 + 0x10]
jbe 0x4ee619
push rbp
mov rbp, rsp
sub rsp, 0x118
nop dword [rax]
cmp cl, 0x10
jae 0x4ee605
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rbx
mov byte [rsp + 0x138], cl
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc0], xmm15
movups xmmword [rsp + 0xd0], xmm15
movups xmmword [rsp + 0xe0], xmm15
movups xmmword [rsp + 0xf0], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x78], xmm15
movups xmmword [rsp + 0x88], xmm15
movups xmmword [rsp + 0x98], xmm15
movups xmmword [rsp + 0xa8], xmm15
nop
movabs rdx, 0x80000000000000
mov qword [rsp + 0x70], rdx
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x30], xmm15
movups xmmword [rsp + 0x40], xmm15
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x60], xmm15
lea rdx, [rsp + 0xb8]
mov qword [rsp + 0x100], rdx
lea rsi, [rsp + 0x70]
mov qword [rsp + 0x108], rsi
lea rsi, [rsp + 0x28]
mov qword [rsp + 0x110], rsi
mov rsi, qword [rbx]
mov r8, qword [rdx]
mov qword [rsi], r8
movups xmm0, xmmword [rdx + 8]
movups xmmword [rsi + 8], xmm0
movups xmm0, xmmword [rdx + 0x18]
movups xmmword [rsi + 0x18], xmm0
movups xmm0, xmmword [rdx + 0x28]
movups xmmword [rsi + 0x28], xmm0
movups xmm0, xmmword [rdx + 0x38]
movups xmmword [rsi + 0x38], xmm0
mov rdx, qword [rbx + 8]
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsi]
mov qword [rdx], r8
movups xmm0, xmmword [rsi + 8]
movups xmmword [rdx + 8], xmm0
movups xmm0, xmmword [rsi + 0x18]
movups xmmword [rdx + 0x18], xmm0
movups xmm0, xmmword [rsi + 0x28]
movups xmmword [rdx + 0x28], xmm0
movups xmm0, xmmword [rsi + 0x38]
movups xmmword [rdx + 0x38], xmm0
mov rdx, qword [rbx + 0x10]
mov rsi, qword [rsp + 0x110]
mov r8, qword [rsi]
mov qword [rdx], r8
movups xmm0, xmmword [rsi + 8]
movups xmmword [rdx + 8], xmm0
movups xmm0, xmmword [rsi + 0x18]
movups xmmword [rdx + 0x18], xmm0
movups xmm0, xmmword [rsi + 0x28]
movups xmmword [rdx + 0x28], xmm0
movups xmm0, xmmword [rsi + 0x38]
movups xmmword [rdx + 0x38], xmm0
mov edx, 1
nop
jmp 0x4ee5d3
mov byte [rsp + 0x27], r8b
test byte [rax], al
mov rsi, qword [rax + rsi*8]
movzx edi, dl
dec edi
shr edi, 0x1f
mov rcx, rbx
mov rbx, rsi
mov rax, rcx
nop
call fcn.004ee320
movzx edx, byte [rsp + 0x27]
inc edx
mov rsi, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x130]
movzx r8d, byte [rsp + 0x138]
mov rax, rsi
mov ecx, r8d
mov rbx, qword [rsp + 0x130]
cmp dl, 0x10
jae 0x4ee5ed
lea esi, [rdx - 1]
movzx esi, sil
nop
mov r8d, edx
xor edx, ecx
cmp rsi, 0xf
jb 0x4ee582
jmp 0x4ee5f6
add rsp, 0x118
pop rbp
ret
mov rax, rsi
mov ecx, 0xf
nop
call fcn.0046f920
lea rax, [0x005171e0]
lea rbx, [0x00585180]
call fcn.00467940
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
call fcn.0046d640
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
nop dword [rax + rax]
jmp fcn.004ee400
Function at 0x4f1540
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x10]
mov rdx, qword [rsp + 8]
pxor xmm15, xmm15
pcmpeqd xmm14, xmm14
psubd xmm15, xmm14
movd xmm14, eax
pshufd xmm14, xmm14, 0
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm3, xmm3
pxor xmm4, xmm4
pxor xmm5, xmm5
mov rax, 0x10
movdqu xmm13, xmm15
movdqu xmm12, xmm13
paddd xmm13, xmm15
pcmpeqd xmm12, xmm14
movdqu xmm6, xmmword [rdi]
movdqu xmm7, xmmword [rdi + 0x10]
movdqu xmm8, xmmword [rdi + 0x20]
movdqu xmm9, xmmword [rdi + 0x30]
movdqu xmm10, xmmword [rdi + 0x40]
movdqu xmm11, xmmword [rdi + 0x50]
add rdi, 0x60
pand xmm6, xmm12
pand xmm7, xmm12
pand xmm8, xmm12
pand xmm9, xmm12
pand xmm10, xmm12
pand xmm11, xmm12
pxor xmm0, xmm6
pxor xmm1, xmm7
pxor xmm2, xmm8
pxor xmm3, xmm9
pxor xmm4, xmm10
pxor xmm5, xmm11
dec rax
jne 0x4f158d
movdqu xmmword [rdx], xmm0
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x30], xmm3
movdqu xmmword [rdx + 0x40], xmm4
movdqu xmmword [rdx + 0x50], xmm5
ret

Function at 0x4f1620
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x10]
mov rdx, qword [rsp + 8]
pxor xmm15, xmm15
pcmpeqd xmm14, xmm14
psubd xmm15, xmm14
movd xmm14, eax
pshufd xmm14, xmm14, 0
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm2, xmm2
pxor xmm3, xmm3
mov rax, 0x10
movdqu xmm13, xmm15
movdqu xmm12, xmm13
paddd xmm13, xmm15
pcmpeqd xmm12, xmm14
movdqu xmm4, xmmword [rdi]
movdqu xmm5, xmmword [rdi + 0x10]
movdqu xmm6, xmmword [rdi + 0x20]
movdqu xmm7, xmmword [rdi + 0x30]
movdqu xmm8, xmmword [rdi + 0x40]
movdqu xmm9, xmmword [rdi + 0x50]
movdqu xmm10, xmmword [rdi + 0x60]
movdqu xmm11, xmmword [rdi + 0x70]
add rdi, 0x80
pand xmm4, xmm12
pand xmm5, xmm12
pand xmm6, xmm12
pand xmm7, xmm12
movdqu xmm12, xmm13
paddd xmm13, xmm15
pcmpeqd xmm12, xmm14
pand xmm8, xmm12
pand xmm9, xmm12
pand xmm10, xmm12
pand xmm11, xmm12
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
pxor xmm0, xmm8
pxor xmm1, xmm9
pxor xmm2, xmm10
pxor xmm3, xmm11
dec rax
jne 0x4f1665
movdqu xmmword [rdx], xmm0
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x30], xmm3
ret
Function at 0x4f5b60
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4f5d75
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rsp + 0x80], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 8]
mov r9, qword [rdx + 0x10]
lea r10, [r9 - 1]
test r10, r10
jl 0x4f5bf0
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + r9*8 - 8]
mov r9, rdx
shr rdx, 1
or rdx, r9
mov r9, rdx
shr rdx, 2
or rdx, r9
mov r9, rdx
shr rdx, 4
or rdx, r9
mov r9, rdx
shr rdx, 8
or rdx, r9
mov r9, rdx
shr rdx, 0x10
or rdx, r9
mov r9, rdx
shr rdx, 0x20
or rdx, r9
shl r10, 6
bsr rdx, rdx
mov r9, 0xffffffffffffffff
cmove rdx, r9
lea rdx, [rdx + r10]
lea rdx, [rdx + 1]
jmp 0x4f5bf2
xor edx, edx
lea r9, [rdx + 7]
sar r9, 0x3f
shr r9, 0x3d
lea rdx, [r9 + rdx]
lea rdx, [rdx + 7]
sar rdx, 3
cmp rdi, rdx
je 0x4f5cd7
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x88], rdi
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
movups xmmword [rsp + 0x50], xmm15
xor eax, eax
xor ebx, ebx
mov r8, rsi
mov rsi, rdi
mov rdi, rcx
mov rcx, rbx
call fcn.004c95a0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jle 0x4f5c93
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx + 8]
mov rcx, qword [rdx + 8]
lea rax, [rsp + 0x40]
mov rbx, rax
call fcn.004bd340
mov rcx, qword [rsp + 0x30]
lea rax, [0x00517260]
mov rbx, rcx
nop dword [rax]
call fcn.00468d20
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x4f5cc6
mov qword [rsp + 0x38], rax
mov rbx, rcx
call fcn.0046ffc0
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rdx, rcx
xor ebx, ebx
jmp 0x4f5ce9
mov rax, rcx
mov rbx, rdi
mov rcx, rsi
add rsp, 0x60
pop rbp
ret
inc rbx
cmp rbx, rdi
jge 0x4f5cf7
mov r8, qword [rsi + rbx*8]
xor r9d, r9d
jmp 0x4f5d36
test rcx, rcx
jge 0x4f5d05
xor ecx, ecx
nop
jmp 0x4f5d05
inc rcx
cmp rcx, rdx
jge 0x4f5d15
jae 0x4f5d21
movzx esi, byte [rax + rcx]
test sil, sil
je 0x4f5d02
mov rbx, rdx
mov rcx, rbx
add rsp, 0x60
pop rbp
ret
mov rax, rcx
mov rcx, rdx
call fcn.0046f920
inc r9
shr r8, 8
mov rcx, r10
cmp r9, 8
jge 0x4f5ce6
lea r10, [rcx - 1]
test r10, r10
jl 0x4f5d51
cmp rdx, r10
jbe 0x4f5d69
mov byte [rcx + rax - 1], r8b
jmp 0x4f5d2c
test r8b, r8b
je 0x4f5d2c
lea rax, [0x005171e0]
lea rbx, [0x00584df0]
call fcn.00467940
mov rax, r10
mov rcx, rdx
call fcn.0046f920
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
call fcn.0046d640
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
jmp fcn.004f5b60
Function at 0x4fa9e0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4fac1b
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rbx
nop
call fcn.004d2900
xorps xmm15, xmm15
mov r14, qword [0x00694490]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
add qword [rcx + 0x68], rax
mov rdx, qword [rcx + 0x60]
test rdx, rdx
jle 0x4fab2a
nop dword [rax]
cmp rdx, 0x40
ja 0x4fac0d
lea rsi, [rdx - 0x40]
mov rdi, rsi
neg rsi
sar rdi, 0x3f
and rdi, rdx
lea rdx, [rcx + rdi]
lea rdx, [rdx + 0x20]
cmp rax, rsi
cmovl rsi, rax
mov qword [rsp + 0x28], rsi
mov rbx, qword [rsp + 0x60]
cmp rbx, rdx
je 0x4faa99
mov rax, rdx
mov rcx, rsi
nop
call fcn.004702c0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x28]
mov rdx, qword [rcx + 0x60]
add rdx, rsi
mov qword [rcx + 0x60], rdx
cmp rdx, 0x40
jne 0x4fab01
mov qword [rsp], rcx
lea rax, [rcx + 0x20]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x40
mov qword [rsp + 0x18], 0x40
call fcn.004fb040
xorps xmm15, xmm15
mov r14, qword [0x00694490]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x60], 0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x28]
cmp rax, rsi
jb 0x4fac02
mov rdi, qword [rsp + 0x70]
sub rdi, rsi
mov rdx, rdi
neg rdx
sar rdx, 0x3f
and rdx, rsi
mov r8, rax
sub r8, rsi
add rbx, rdx
jmp 0x4fab37
mov r8, rax
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
cmp r8, 0x40
jl 0x4fabb5
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rdi
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
and r8, 0xffffffffffffffc0
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], rdi
call fcn.004fb040
xorps xmm15, xmm15
mov r14, qword [0x00694490]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov rdx, rax
sub rax, rcx
sar rax, 0x3f
mov r8, qword [rsp + 0x38]
and rax, r8
and rax, 0xffffffffffffffc0
mov rcx, qword [rsp + 0x40]
lea rbx, [rcx + rax]
sub r8, rdx
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
test r8, r8
je 0x4fabf8
lea rdx, [rcx + 0x20]
cmp r8, 0x40
mov esi, 0x40
cmovl rsi, r8
cmp rbx, rdx
je 0x4fabf4
mov qword [rsp + 0x38], rsi
mov rax, rdx
mov rcx, rsi
nop dword [rax + rax]
call fcn.004702c0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x38]
mov qword [rcx + 0x60], rsi
xor ebx, ebx
xor ecx, ecx
add rsp, 0x48
pop rbp
ret
mov rcx, rax
mov rax, rsi
call fcn.0046f9e0
mov rax, rdx
mov ecx, 0x40
call fcn.0046f9e0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0046d640
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004fa9e0
Function at 0x1401703e0
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x1401703ed
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x1401703fd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x1401703e5
lea eax, [rcx + 1]
jmp 0x14017040b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x14017041e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x140170404
sub eax, 3
jb 0x14017043e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x14017048d
sar eax, 1
movsxd rbp, eax
jb 0x140170474
jmp 0x14017044c
add ebx, ebx
jne 0x14017044a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x140170474
inc ecx
add ebx, ebx
jne 0x14017045a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x140170474
call r11
adc ecx, ecx
add ebx, ebx
jne 0x14017046d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x14017045c
add ecx, 2
jmp 0x140170479
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.1401703a2
jmp 0x1401703ed
pop rsi
pop rdi
pop rax
mov dword [rdi], eax
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x7ea00
mov dl, 0x17
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x1401704dd
cmp rsi, rcx
jae 0x1401704e5
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x1401704c4
cmp al, 0x8f
ja 0x1401704c4
cmp byte [rsi - 2], 0xf
je 0x1401704ca
sub al, 0xe8
cmp al, 1
ja 0x1401704ae
cmp rsi, rcx
jae 0x1401704e5
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x1401704b4
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x1401704e5
lodsb al, byte [rsi]
jmp 0x1401704c4
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x16d000]
mov eax, dword [rdi]
or eax, eax
je 0x140170542
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x1704ec]
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 0x1401704f2
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 0x14017053c
mov qword [rbx], rax
add rbx, 8
jmp 0x140170512
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 0x14017057c
cmp al, 0xef
ja 0x14017056e
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x14017054e
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
jmp 0x14017055d
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 + 0x1af]
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
mov byte [fcn.1401705fb], 0xfc
lea rcx, [rsi - 0x1000]
push 1
pop rdx
xor r8, r8
push rax
call fcn.1401705fb
pop rax
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x1401705eb
sub rsp, 0xffffffffffffff80
jmp 0x1400014e0
Function at 0x140001cd0
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
xor ebp, ebp
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
cmp qword [rcx], rbp
jne 0x140001d0c
lea r8, str.m_hKey___0
mov edx, 0x16e0
lea rcx, str.onecoreexternal_sdkinc_atlmfc_atlbase.h
call fcn.140087b08
test rbx, rbx
je 0x140001d5f
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], bp
jne 0x140001d15
mov rcx, qword [rdi]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
lea r8, str.__atl_condVal
mov edx, 0x16e1
lea rcx, str.onecoreexternal_sdkinc_atlmfc_atlbase.h
call fcn.140087b08
mov ecx, 0x80004005
call fcn.140001950
int3

Function at 0x140001d88
Capabilities:
Query or enumerate registry key

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov rax, qword [0x14017b608]
xor rax, rsp
mov qword [rbp + 0x170], rax
and qword [rsp + 0x48], 0
mov rsi, rdx
and qword [rsp + 0x50], 0
mov r8, rdx
mov rdx, qword [rcx]
mov rdi, rcx
and qword [rsp + 0x58], 0
lea rcx, [rsp + 0x48]
mov r9d, 0x2001f
call fcn.140001c08
jmp 0x140001def
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x48]
call fcn.140001d88
mov ebx, eax
test eax, eax
jne 0x140001e63
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x40]
and qword [rsp + 0x30], 0
lea r8, [rsp + 0x70]
and qword [rsp + 0x28], 0
xor edx, edx
and qword [rsp + 0x20], 0
mov dword [rsp + 0x40], 0x100
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
nop dword [rax + rax]
test eax, eax
je 0x140001de0
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140001e56
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
and qword [rsp + 0x48], 0
mov rdx, rsi
mov rcx, rdi
call fcn.140001a4c
mov ebx, eax
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140001e79
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.14014bb60
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x280
pop rdi
pop rsi
pop rbp
ret
Function at 0x140002584
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x490
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x14017b608]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov r14, r9
mov rdi, r8
mov rax, rdx
xor ebx, ebx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x70], rbx
xor edx, edx
lea r8d, [rbx + 2]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
nop dword [rax + rax]
mov rsi, rax
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x1400025fb
call fcn.1400019c0
mov ebx, eax
jmp 0x140002785
xor r9d, r9d
mov r8, rdi
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
jne 0x140002625
call fcn.1400019c0
jmp 0x140002773
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LoadResource]
nop dword [rax + rax]
mov r15, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14000261b
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
nop dword [rax + rax]
mov edi, eax
mov dword [rsp + 0x30], eax
inc eax
cmp eax, edi
jae 0x14000269e
lea rax, [rsp + 0x78]
cmp qword [rsp + 0x70], rax
je 0x140002679
lea rcx, [rsp + 0x70]
call fcn.1400049dc
nop
mov eax, 0x8007000e
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.14014bb60
add rsp, 0x490
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
mov r14d, eax
test eax, eax
jne 0x1400026aa
mov r14, rbx
jmp 0x1400026c0
xor edx, edx
or rax, 0xffffffffffffffff
div r14
cmp rax, 2
jb 0x1400027a3
add r14, r14
cmp qword [rsp + 0x70], rbx
je 0x1400026df
lea r8, str.m_p__0
mov edx, 0x207
lea rcx, str.onecoreexternal_sdkinc_atlmfc_atlalloc.h
call fcn.140087b08
cmp r14, 0x400
jbe 0x1400026fc
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.140004b1c
mov rax, qword [rsp + 0x70]
jmp 0x140002706
lea rax, [rsp + 0x78]
mov qword [rsp + 0x70], rax
jmp 0x14000271d
test rax, rax
jne 0x140002729
mov ebx, 0x8007000e
jmp 0x140002775
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r15
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
nop dword [rax + rax]
test eax, eax
je 0x14000261b
mov ecx, eax
mov rax, qword [rsp + 0x70]
mov word [rax + rcx*2], bx
mov r8d, dword [rsp + 0x4e0]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x48]
call fcn.140003488
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
nop
lea rax, [rsp + 0x78]
cmp qword [rsp + 0x70], rax
je 0x14000279c
lea rcx, [rsp + 0x70]
call fcn.1400049dc
nop
mov eax, ebx
jmp 0x14000267e
mov ecx, 0x80070057
call fcn.140001950
int3
Function at 0x140024d94
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov r14, rdx
mov rbx, rcx
mov rcx, qword [0x14017b048]
lea r15, [0x14017b048]
cmp rcx, r15
je 0x140024de6
test byte [rcx + 0x1c], 1
je 0x140024de6
cmp byte [rcx + 0x19], 4
jb 0x140024de6
mov rcx, qword [rcx + 0x10]
lea r8, [0x1401563e0]
mov edx, 0x1f7
call fcn.140004c10
and qword [rsp + 0x60], 0
test r14, r14
jne 0x140024e09
lea r8, str.pbExist
mov edx, 0x2e75
lea rcx, str.base_stor_blbengine_service_backup.cpp
call fcn.140087b08
test rbx, rbx
jne 0x140024e26
lea r8, str.wszSnapshotName
mov edx, 0x2e76
lea rcx, str.base_stor_blbengine_service_backup.cpp
call fcn.140087b08
lea rdx, [rsp + 0x60]
mov byte [r14], 1
mov rcx, rbx
call fcn.140088864
mov rbx, qword [rsp + 0x60]
mov esi, eax
test eax, eax
js 0x140024fb9
xor edi, edi
and qword [rsp + 0x30], 0
xor r9d, r9d
mov dword [rsp + 0x28], 0x2000000
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
nop dword [rax + rax]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x140024f06
lea r15d, [rdi + 1]
cmp r15d, 5
jae 0x140024eed
mov rcx, qword [0x14017b048]
lea rax, [0x14017b048]
cmp rcx, rax
je 0x140024ec9
test byte [rcx + 0x1c], 1
je 0x140024ec9
cmp byte [rcx + 0x19], 4
jb 0x140024ec9
mov rcx, qword [rcx + 0x10]
lea r8, [0x1401563e0]
mov edx, 0x1fa
mov qword [rsp + 0x20], rbx
mov r9d, edi
call fcn.1400103b0
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov ecx, 0x3e8
or rbp, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
nop dword [rax + rax]
mov edi, r15d
cmp r15d, 5
jb 0x140024e48
lea r15, [0x14017b048]
jmp 0x140024fa4
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 2
jne 0x140024f5b
mov rcx, qword [0x14017b048]
lea r15, [0x14017b048]
cmp rcx, r15
je 0x140024f55
test byte [rcx + 0x1c], 1
je 0x140024f55
cmp byte [rcx + 0x19], 4
jb 0x140024f55
mov rcx, qword [rcx + 0x10]
lea r8, [0x1401563e0]
mov edx, 0x1f8
mov r9, rbx
call fcn.140005cd0
mov rcx, qword [0x14017b048]
mov byte [r14], 0
jmp 0x140024fc0
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov rcx, qword [0x14017b048]
lea r15, [0x14017b048]
cmp rcx, r15
je 0x140024fc0
test byte [rcx + 0x1c], 1
je 0x140024fc0
cmp byte [rcx + 0x19], 2
jb 0x140024fc0
mov rcx, qword [rcx + 0x10]
lea r8, [0x1401563e0]
mov edx, 0x1f9
mov dword [rsp + 0x20], esi
mov r9, rbx
call fcn.140005d40
cmp rbp, 0xffffffffffffffff
je 0x140024fb9
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [0x14017b048]
test rbx, rbx
je 0x140024fdb
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x14017b048]
cmp rcx, r15
je 0x140025001
test byte [rcx + 0x1c], 1
je 0x140025001
cmp byte [rcx + 0x19], 4
jb 0x140025001
mov rcx, qword [rcx + 0x10]
lea r8, [0x1401563e0]
mov edx, 0x1fb
call fcn.140004c10
mov rbx, qword [rsp + 0x68]
mov eax, esi
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret