joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14034c0a0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x75af528
add eax, dword [0x14056e370]
cmp ecx, eax
jne 0x14034c0dc
test edx, edx
je 0x14034c10c
movzx eax, byte [0x14056d52e]
cmp al, 0x20
je 0x14034c0d4
mov cl, 0xff
mov al, 0x38
lock cmpxchg byte [0x14056d52e], cl
je 0x14034c17c
cmp al, 0x20
jne 0x14034c0c0
lea rax, [0x14056d520]
ret
test edx, edx
je 0x14034c140
movzx eax, byte [0x14056d2ad]
cmp al, 6
je 0x14034c104
mov cl, 0x39
nop dword [rax]
mov al, 0x43
lock cmpxchg byte [0x14056d2ad], cl
je 0x14034c1b8
cmp al, 6
jne 0x14034c0f0
lea rax, [0x14056d290]
ret
movzx eax, byte [0x14056d423]
cmp al, 0xd0
je 0x14034c138
mov cl, 0xe4
nop dword [rax]
mov al, 0xba
lock cmpxchg byte [0x14056d423], cl
je 0x14034c208
cmp al, byte [0x14056e374]
jne 0x14034c120
lea rax, [0x14056d420]
ret
movzx eax, byte [0x14056d509]
movzx ecx, byte [0x14056e374]
add cl, 0xcb
cmp al, cl
je 0x14034c174
mov cl, 0xcb
nop word [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x14056d509], cl
je 0x14034c251
cmp al, 0x9b
jne 0x14034c160
lea rax, [0x14056d500]
ret
xor eax, eax
lea rcx, [0x14056d520]
lea rdx, [0x14046fcb0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 0xd
jg 0x14034c1e8
inc rax
jmp 0x14034c190
xor eax, eax
lea rcx, [0x14056d290]
lea rdx, [0x14046fa50]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x1c
jg 0x14034c1f8
inc rax
jmp 0x14034c1d0
mov al, 0x20
xchg byte [0x14056d52e], al
lea rax, [0x14056d520]
ret
mov al, 6
xchg byte [0x14056d2ad], al
lea rax, [0x14056d290]
ret
xor edx, edx
lea rax, [0x14056d420]
lea rcx, [0x14046fbc0]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x14056e370]
add edx, r8d
add edx, 0x75af529
cmp edx, 3
jl 0x14034c220
mov al, 0xd0
xchg byte [0x14056d423], al
lea rax, [0x14056d420]
ret
xor eax, eax
lea rcx, [0x14056d500]
lea rdx, [0x14046fc90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x14034c298
inc rax
jmp 0x14034c270
mov al, 0x9b
xchg byte [0x14056d509], al
lea rax, [0x14056d500]
ret
Function at 0x140352db0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov r8d, dword [rsp + 0x40]
test ecx, ecx
je 0x140352df9
test edx, edx
je 0x140352e35
movzx eax, byte [0x14056e569]
cmp al, 0x61
je 0x140352ed0
mov cl, 0x6e
nop word cs:[rax + rax]
mov al, 0x51
lock cmpxchg byte [0x14056e569], cl
je 0x140352e99
cmp al, 0x61
jne 0x140352de0
jmp 0x140352ed0
test edx, edx
je 0x140352e69
movzx eax, byte [0x14056e4e2]
cmp al, 0xc4
je 0x140352f8d
mov cl, 9
nop
mov al, 0x13
lock cmpxchg byte [0x14056e4e2], cl
je 0x140352edc
mov edx, r8d
xor dl, 0x65
add dl, byte [0x14056eb7c]
cmp al, dl
jne 0x140352e10
jmp 0x140352f8d
movzx eax, byte [0x14056e4a0]
cmp al, 0x56
je 0x140352f7c
mov cl, 0x76
nop word cs:[rax + rax]
mov al, 0xf
lock cmpxchg byte [0x14056e4a0], cl
je 0x140352f0c
cmp al, 0x56
jne 0x140352e50
jmp 0x140352f7c
movzx eax, byte [0x14056e543]
cmp al, 0xa7
je 0x140352fed
mov cl, 0x9a
nop word [rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x14056e543], cl
je 0x140352f96
cmp al, 0xa7
jne 0x140352e80
jmp 0x140352fed
xor eax, eax
lea rcx, [0x14056e560]
lea rdx, [0x140470040]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x140352ec8
inc rax
jmp 0x140352eb0
mov al, 0x61
xchg byte [0x14056e569], al
lea rax, [0x14056e560]
jmp 0x140352ff4
xor eax, eax
lea rcx, [0x14056e4d0]
lea rdx, [0x14046ffb0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x11
jg 0x140352f85
inc rax
jmp 0x140352ef0
xor r10d, r10d
lea rax, [0x14056e490]
lea rcx, [0x14046ff80]
mov edx, r8d
xor edx, 0x2c28831a
mov r9d, r8d
xor r9d, 0x2c28830b
movsxd r10, r10d
movzx r11d, byte [r10 + rcx]
mov ebx, r11d
xor bl, r11b
not bl
and bl, byte [r10 + rax]
xor bl, r11b
mov byte [r10 + rax], bl
mov r11d, dword [0x14056eb78]
lea esi, [rdx + r11]
mov edi, r10d
xor edi, esi
and r10d, esi
lea r10d, [rdi + r10*2]
add r11d, r9d
cmp r10d, r11d
jl 0x140352f30
xor r8b, 0x17
add r8b, byte [0x14056eb7c]
xchg byte [0x14056e4a0], r8b
lea rax, [0x14056e490]
jmp 0x140352ff4
mov al, 0xc4
xchg byte [0x14056e4e2], al
lea rax, [0x14056e4d0]
jmp 0x140352ff4
xor eax, eax
lea rcx, [0x14056e520]
lea rdx, [0x140470000]
xor r8d, 0x2c28833c
nop dword [rax]
movzx r9d, byte [rax + rcx]
movzx r10d, byte [rax + rdx]
mov r11d, r9d
xor r11b, r10b
and r9b, r10b
add r9b, r9b
add r9b, r11b
mov byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x14056eb78]
add r10d, r8d
cmp r9d, r10d
jge 0x140352fe5
inc rax
jmp 0x140352fb0
mov al, 0xa7
xchg byte [0x14056e543], al
lea rax, [0x14056e520]
pop rbx
pop rdi
pop rsi
ret
Function at 0x140353200
Capabilities:
Encode data using xor

Disassembly:
mov r8d, dword [rsp + 0x28]
mov r9d, r8d
not r9d
mov eax, r9d
and eax, 0x6a283c6b
mov r10d, r8d
xor r10d, 0x95d7c394
or r10d, eax
not r10d
or r10d, eax
add r10d, dword [0x14056eb78]
cmp ecx, r10d
jne 0x140353304
test edx, edx
je 0x14035333c
movzx eax, byte [0x14056e503]
nop word cs:[rax + rax]
cmp al, 0x8f
je 0x1403532fc
movzx ecx, byte [0x14056eb7c]
mov eax, r8d
xor al, 0x69
add al, cl
mov edx, r8d
xor dl, cl
xor dl, 0x8d
mov r10d, r8d
xor r10b, 0x72
not cl
and cl, r10b
or cl, dl
not cl
add cl, cl
add cl, dl
lock cmpxchg byte [0x14056e503], cl
jne 0x140353250
xor edx, edx
lea rax, [0x14056e4f0]
lea rcx, [0x14046ffd0]
mov r10d, r8d
xor r10d, 0x6a283c7c
and r10d, r9d
xor r8d, 0x95d7c383
and r9d, 0x6a283c7c
or r9d, r8d
not r9d
or r9d, r10d
movsxd r8, edx
movzx edx, byte [r8 + rcx]
mov r10d, edx
xor r10b, dl
not r10b
and r10b, byte [r8 + rax]
xor r10b, dl
mov byte [r8 + rax], r10b
lea edx, [r8 + r8]
sub edx, r8d
inc edx
mov r8d, dword [0x14056eb78]
add r8d, r9d
cmp edx, r8d
jl 0x1403532c0
mov al, 0x8f
xchg byte [0x14056e503], al
lea rax, [0x14056e4f0]
ret
test edx, edx
je 0x14035336c
movzx eax, byte [0x14056e55f]
cmp al, 0xe2
je 0x140353334
mov cl, 0xc3
nop word cs:[rax + rax]
mov al, 0xd7
lock cmpxchg byte [0x14056e55f], cl
je 0x1403533d3
cmp al, 0xe2
jne 0x140353320
lea rax, [0x14056e550]
ret
movzx eax, byte [0x14056e4c5]
cmp al, 0xe4
je 0x140353364
mov cl, 0x9d
nop dword [rax]
mov al, 0xc9
lock cmpxchg byte [0x14056e4c5], cl
je 0x140353445
cmp al, 0xe4
jne 0x140353350
lea rax, [0x14056e4b0]
ret
movzx eax, byte [0x14056e513]
mov ecx, r8d
xor cl, 0xe8
add cl, byte [0x14056eb7c]
cmp al, cl
je 0x1403533cb
mov cl, 0xc
nop word cs:[rax + rax]
mov al, 0x4e
lock cmpxchg byte [0x14056e513], cl
je 0x140353478
movzx edx, byte [0x14056eb7c]
mov r9d, r8d
xor r9b, dl
xor r9b, 0xe8
mov r10d, r8d
xor r10b, 0x17
not dl
and dl, r10b
or dl, r9b
not dl
add dl, dl
add dl, r9b
cmp al, dl
jne 0x140353390
lea rax, [0x14056e510]
ret
xor edx, edx
lea rax, [0x14056e550]
lea rcx, [0x140470030]
xor r8d, 0x6a283c78
nop word [rax + rax]
movsxd rdx, edx
movzx r9d, byte [rdx + rcx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [rdx + rax]
xor r10b, r9b
mov byte [rdx + rax], r10b
add edx, 0xe1756e0c
mov r9d, edx
xor r9d, 0x1e8a91f5
and edx, 0x1e8a91f5
lea edx, [r9 + rdx*2]
mov r9d, dword [0x14056eb78]
add r9d, r8d
cmp edx, r9d
jl 0x1403533f0
mov al, 0xe2
xchg byte [0x14056e55f], al
lea rax, [0x14056e550]
ret
xor eax, eax
lea rcx, [0x14056e4b0]
lea rdx, [0x14046ff90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x14
jg 0x1403534a8
inc rax
jmp 0x140353460
xor eax, eax
lea rcx, [0x14056e510]
lea rdx, [0x14046fff0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x1403534b8
inc rax
jmp 0x140353490
mov al, 0xe4
xchg byte [0x14056e4c5], al
lea rax, [0x14056e4b0]
ret
mov al, 0xc9
xchg byte [0x14056e513], al
lea rax, [0x14056e510]
ret
Function at 0x1403732e0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rbp - 0x10], rcx
mov qword [rbp - 0x18], rdx
call fcn.14038a2e0
test rax, rax
sete cl
or cl, byte [0x14058f3e0]
movzx edx, byte [0x14058f410]
mov r8d, edx
and r8b, cl
test r8b, 1
jne 0x14037333e
mov r8d, edx
xor r8b, 1
and r8b, cl
test r8b, 1
jne 0x14037333e
xor cl, 1
and dl, cl
test dl, 1
jne 0x14037333e
add rsp, 0x40
pop rbp
ret
mov ecx, 0x7f
call fcn.1401a39e0
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
mov r8d, 0xc649bf83
mov r9d, 0xb8dcf098
add rsp, 0x40
pop rbp
jmp fcn.140373a50
Function at 0x1403885a0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
xor eax, eax
test rcx, rcx
je 0x140388719
test rdx, rdx
je 0x140388719
mov al, 1
cmp rcx, rdx
je 0x140388719
movabs r9, 0xef0d2a040d9994a9
xor r8d, r8d
xor r10d, r10d
nop word cs:[rax + rax]
mov r11, r8
sub r11, r9
movzx ebx, byte [0x1405764c8]
add bl, 0xb3
xor esi, esi
cmp byte [rcx + r8], 0
setne sil
movzx r8d, r10b
movzx r10d, bl
cmovne r10d, r8d
add r11, r9
mov r8, r11
add r8, rsi
test r10b, 1
je 0x1403885e0
xor r9d, r9d
mov r10d, 1
xor r11d, r11d
nop word cs:[rax + rax]
xor esi, esi
cmp byte [rdx + r9], 0
setne sil
movzx r11d, r11b
cmove r11d, r10d
mov rdi, rsi
xor rdi, r9
and esi, r9d
lea r9, [rdi + rsi*2]
mov ebx, r11d
and bl, 1
movzx esi, byte [0x1405764c8]
add sil, 0xb2
cmp bl, sil
je 0x140388630
cmp r8, r9
jne 0x140388717
test r8, r8
je 0x140388719
xor r9d, r9d
xor r10d, r10d
jmp 0x1403886b3
movzx ebx, byte [0x1405764c8]
add bl, 0xb3
cmp sil, 0x2e
movzx r10d, r10b
movzx esi, bl
cmove r10d, esi
cmp r11b, 0x2e
cmove r10d, esi
mov r11d, dword [0x14058f0a0]
add r9d, r11d
inc r9d
cmp r8, r9
jbe 0x140388719
movzx r11d, byte [rcx + r9]
movzx esi, byte [rdx + r9]
cmp r11b, sil
je 0x140388680
test r10b, 1
jne 0x140388717
lea ebx, [r11 - 0x61]
movzx edi, byte [0x1405764c8]
lea ebp, [rdi + r11]
add bpl, 0x92
cmp bl, 0x1a
movzx ebx, bpl
movzx r11d, r11b
cmovb r11d, ebx
lea ebx, [rsi - 0x61]
mov ebp, edi
xor bpl, 0xcc
and dil, 0x4c
add dil, dil
add dil, bpl
lea ebp, [rsi - 0x20]
cmp bl, dil
movzx edi, sil
movzx esi, bpl
cmovae esi, edi
cmp r11b, sil
je 0x140388680
xor eax, eax
pop rbx
pop rbp
pop rdi
pop rsi
ret
Function at 0x1403995a0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x238
mov rax, qword [0x14057f4d8]
xor rax, rsp
mov qword [rsp + 0x230], rax
movabs rdi, 0xa3d3020ee34b4bef
mov rax, qword [0x140591ef8]
test rax, rax
je 0x14039966d
movabs rax, 0x4a6fdd95ef42331
mov ecx, dword [0x140591fcc]
cmp ecx, 0xe
jg 0x1403995fe
inc qword [0x140575cd0]
mov rsi, qword [0x140591ef8]
xor ecx, ecx
test cl, cl
je 0x140399651
mov rcx, qword [0x140575cd0]
mov rdx, rcx
neg rdx
mov r8, rdx
sub r8, rcx
inc r8
mov r9, rdi
sub r9, rax
add r9, qword [0x140577aa0]
add r9, rax
imul r8, rdx
add r9, rcx
add r9, r8
shl r9, cl
shl r9, cl
mov rdx, r9
xor rdx, rcx
and r9, rcx
lea rcx, [rdx + r9*2]
mov qword [0x140575cd0], rcx
mov rcx, qword [0x140591ef8]
jmp 0x1403995ea
mov eax, esi
not eax
and eax, 0x11223344
and rsi, 0xffffffffeeddccbb
or rsi, rax
test rsi, rsi
jne 0x140399799
movaps xmm0, xmmword [0x140472d50]
movaps xmmword [rsp + 0x30], xmm0
movabs rax, 0x1804242b697f3d33
mov qword [rsp + 0x40], rax
movzx eax, byte [0x140577a98]
add al, 7
mov ecx, 0xffffdb99
add ecx, dword [0x1405777c4]
mov byte [rsp + 0x48], al
movsxd rax, ecx
add rax, qword [0x1405777d0]
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov edx, 6
mov r8d, 0xed48e103
mov r9d, 0xf29cb72a
call qword [case.0x1401460cb.0]
mov rax, qword [0x140577aa0]
mov rcx, rdi
xor rcx, rax
and rdi, rax
lea rax, [rcx + rdi*2]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1405777c0]
sub eax, dword [0x140577aa8]
add eax, 0x9c92825a
cdqe
add rax, qword [0x1405777d8]
lea rdx, [rsp + 0x28]
mov rcx, rsi
mov r8d, 0xd6c05557
mov r9d, 0x5f397b2d
call qword [case.0x1401460cb.0]
mov rsi, rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
test rax, rax
je 0x140399779
mov rax, qword [0x140591ef8]
test rax, rax
jne 0x140399779
mov eax, dword [0x140591fcc]
cmp eax, 0x1f
jg 0x14039975e
mov qword [0x140591ef8], rsi
xor qword [0x140591ef8], 0x11223344
xor eax, eax
test al, al
je 0x140399779
mov qword [0x140591ef8], rsi
mov rax, qword [0x140591ef8]
mov qword [0x140591ef8], 0
jmp 0x140399746
xor eax, eax
test al, al
nop dword [rax]
mov eax, dword [0x140577aa8]
mov ecx, eax
xor ecx, 0x636d593f
and eax, 0x636d593f
add eax, eax
add eax, ecx
jne 0x140399780
xor eax, eax
test al, al
jne 0x1403997b0
mov eax, dword [0x140591fc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1403997c3
mov eax, dword [0x140591fc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403997b0
jmp 0x14039979f
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.140408730
mov rax, rsi
add rsp, 0x238
pop rdi
pop rsi
ret
Function at 0x100002850
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
push r13
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov rdi, rdx
mov r13d, 0x80041001
mov ebx, r13d
lea rdx, [0x10000b8e8]
lea rcx, [rsp + 0x70]
call qword [sym.imp.wbemcomn.dll_public:_void___cdecl_CInCritSec::constructor_struct__RTL_CRITICAL_SECTION____ptr64____ptr64]
nop
mov edx, dword [0x10000b890]
test edx, edx
je 0x10000294b
mov rax, qword [rdi + 8]
mov qword [rsp + 0x60], rax
dec edx
lea rcx, [0x10000b890]
call qword [sym.imp.wbemcomn.dll_public:_void____ptr64____ptr64___cdecl_CFlexArray::operator___int____ptr64]
mov rcx, qword [rax]
add rcx, 8
lea rdx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jns 0x1000028e8
mov r8, rdi
mov edx, dword [0x10000b890]
lea rcx, [0x10000b890]
call qword [sym.imp.wbemcomn.dll_public:_int___cdecl_CFlexArray::InsertAt_int__void____ptr64____ptr64]
neg eax
sbb ebx, ebx
and ebx, 0x80041006
jmp 0x100002965
xor esi, esi
cmp dword [0x10000b890], esi
jle 0x100002965
mov rax, qword [rdi + 8]
mov qword [rsp + 0x60], rax
mov edx, esi
lea rcx, [0x10000b890]
call qword [sym.imp.wbemcomn.dll_public:_void____ptr64____ptr64___cdecl_CFlexArray::operator___int____ptr64]
mov rcx, qword [rax]
add rcx, 8
lea rdx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
js 0x10000293b
mov r8, rdi
mov edx, esi
lea rcx, [0x10000b890]
call qword [sym.imp.wbemcomn.dll_public:_int___cdecl_CFlexArray::InsertAt_int__void____ptr64____ptr64]
test eax, eax
je 0x100002947
mov ebx, 0x80041006
inc esi
cmp esi, dword [0x10000b890]
jge 0x100002965
jmp 0x1000028f2
xor ebx, ebx
jmp 0x100002965
mov r8, rdi
lea rcx, [0x10000b890]
call qword [sym.imp.wbemcomn.dll_public:_int___cdecl_CFlexArray::InsertAt_int__void____ptr64____ptr64]
neg eax
sbb ebx, ebx
and ebx, 0x80041006
lea rcx, [rsp + 0x70]
call qword [sym.imp.wbemcomn.dll_public:_void___cdecl_CInCritSec::destructor_void____ptr64]
test ebx, ebx
js 0x1000029e6
lea rdx, [0x10000b910]
lea rcx, [rsp + 0x70]
call qword [sym.imp.wbemcomn.dll_public:_void___cdecl_CInCritSec::constructor_struct__RTL_CRITICAL_SECTION____ptr64____ptr64]
xor ebx, ebx
cmp qword [0x10000b950], rbx
jne 0x1000029c5
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], ebx
lea r9, [0x10000b890]
lea r8, [0x1000023f8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x10000b950], rax
test rax, rax
cmove ebx, r13d
lea rcx, [rsp + 0x70]
call qword [sym.imp.wbemcomn.dll_public:_void___cdecl_CInCritSec::destructor_void____ptr64]
mov rcx, qword [0x10000b940]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x1000029f9
mov ebx, r13d
jmp 0x1000029f9
test rdi, rdi
je 0x1000029f9
mov r8, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [r8]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop r13
pop rdi
pop rsi
ret
Function at 0x100002a10
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x50
and qword [r11 + 0x18], 0
and qword [r11 + 0x10], 0
xor edx, edx
lea rax, [r11 + 0x10]
lea r8d, [rdx + 1]
lea r9, [0x100001688]
lea rcx, [0x100001698]
mov qword [r11 - 0x38], rax
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x100002aa7
lea rcx, [0x100001720]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
test rax, rax
je 0x100002a9c
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x70]
xor r9d, r9d
mov r10, qword [rcx]
mov qword [rsp + 0x40], rax
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rbx
call qword [r10 + 0x18]
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x70]
add rsp, 0x50
pop rbx
ret
Function at 0x100003534
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x90
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov byte [0x10000b844], 1
lea rax, [rax + 0x10]
mov qword [rsp + 0x20], rax
lea r9, [0x100001688]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x100001698]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x10000376f
mov rbx, qword [rsp + 0xc8]
mov qword [rsp + 0xd8], rbx
lea rcx, [0x100001950]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbp, rax
test rax, rax
je 0x100003761
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0xc8]
mov r10, qword [rcx]
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x40], rax
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call qword [r10 + 0x18]
test eax, eax
js 0x100003757
mov rdi, qword [rsp + 0xd0]
mov qword [rsp + 0x60], rdi
lea rcx, [0x100001970]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov r12, rax
test rax, rax
je 0x100003748
and qword [rsp + 0xc0], 0
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0xd0]
mov r10, qword [rcx]
and qword [rsp + 0x28], 0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
call qword [r10 + 0x30]
test eax, eax
js 0x10000373e
mov rsi, qword [rsp + 0xc0]
mov qword [rsp + 0x70], rsi
lea rcx, [rsp + 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rcx]
and qword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x78]
xor r8d, r8d
lea rdx, [0x1000019b8]
call qword [rax + 0x20]
test eax, eax
js 0x1000036c9
cmp word [rsp + 0x78], 3
je 0x1000036ad
cmp word [rsp + 0x78], 0x13
jne 0x1000036c9
mov eax, dword [rsp + 0x80]
test eax, eax
je 0x1000036c9
mov dword [0x10000b13c], eax
lea rcx, [rsp + 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rcx]
and qword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x78]
xor r8d, r8d
lea rdx, [0x1000019d8]
call qword [rax + 0x20]
test eax, eax
js 0x10000372f
cmp word [rsp + 0x78], 3
jne 0x10000372f
mov r8d, dword [rsp + 0x80]
lea eax, [r8 - 1]
cmp eax, 0x11557
ja 0x10000372f
imul r8d, r8d, 0xea60
lea r9, [0x100003500]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetTimer]
mov dword [0x10000b848], eax
test rsi, rsi
je 0x10000373e
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
nop
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
test rdi, rdi
je 0x100003757
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
mov rcx, rbp
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
test rbx, rbx
je 0x10000376f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
add rsp, 0x90
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x100006b00
Capabilities:
Create service

Disassembly:
push rbx
sub rsp, 0x880
mov rax, qword [0x10000b110]
xor rax, rsp
mov qword [rsp + 0x870], rax
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.API_MS_WIN_Service_Management_L1_1_0.dll_OpenSCManagerW]
mov rbx, rax
test rax, rax
jne 0x100006b8b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call qword [sym.imp.wbemcomn.dll_class_CMemoryLog____ptr64___cdecl_GetMemLogObject_void_]
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.wbemcomn.dll_public:_void___cdecl_CMemoryLog::Write_long_int____ptr64]
mov rcx, qword [0x10000b190]
lea rdx, [0x10000b190]
cmp rcx, rdx
je 0x100006b84
test byte [rcx + 0x1c], 1
je 0x100006b84
cmp byte [rcx + 0x19], 2
jb 0x100006b84
mov edx, 0x10
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000016b8]
mov r9d, ebx
call fcn.10000387c
xor eax, eax
jmp 0x100006c5f
lea rdx, [rsp + 0x70]
mov r8d, 0x3ff
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov r11d, dword [0x10000b970]
mov r8, qword [0x10000b968]
mov rdx, qword [0x10000b960]
neg r11d
lea rcx, [rsp + 0x70]
sbb eax, eax
and qword [rsp + 0x60], 0
and qword [rsp + 0x58], 0
and qword [rsp + 0x50], 0
and qword [rsp + 0x48], 0
and qword [rsp + 0x40], 0
mov qword [rsp + 0x38], rcx
add eax, 3
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], eax
mov rcx, rbx
mov r9d, 0xf01ff
mov dword [rsp + 0x20], 0x10
call qword [sym.imp.API_MS_WIN_Service_Management_L1_1_0.dll_CreateServiceW]
test rax, rax
jne 0x100006c5a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call qword [sym.imp.wbemcomn.dll_class_CMemoryLog____ptr64___cdecl_GetMemLogObject_void_]
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.wbemcomn.dll_public:_void___cdecl_CMemoryLog::Write_long_int____ptr64]
mov rcx, qword [0x10000b190]
lea rdx, [0x10000b190]
cmp rcx, rdx
je 0x100006b84
test byte [rcx + 0x1c], 1
je 0x100006b84
cmp byte [rcx + 0x19], 2
jb 0x100006b84
mov edx, 0x11
jmp 0x100006b71
mov eax, 1
mov rcx, qword [rsp + 0x870]
xor rcx, rsp
call fcn.100007f80
add rsp, 0x880
pop rbx
ret
Function at 0x100006c80
Capabilities:
Delete service

Disassembly:
push rbx
sub rsp, 0x20
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.API_MS_WIN_Service_Management_L1_1_0.dll_OpenSCManagerW]
test rax, rax
jne 0x100006cf3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call qword [sym.imp.wbemcomn.dll_class_CMemoryLog____ptr64___cdecl_GetMemLogObject_void_]
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.wbemcomn.dll_public:_void___cdecl_CMemoryLog::Write_long_int____ptr64]
mov rcx, qword [0x10000b190]
lea rdx, [0x10000b190]
cmp rcx, rdx
je 0x100006cec
test byte [rcx + 0x1c], 1
je 0x100006cec
cmp byte [rcx + 0x19], 2
jb 0x100006cec
mov edx, 0x12
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000016b8]
mov r9d, ebx
call fcn.10000387c
xor eax, eax
jmp 0x100006daf
mov rdx, qword [0x10000b960]
mov r8d, 0xf01ff
mov rcx, rax
call qword [sym.imp.API_MS_WIN_Service_Management_L1_1_0.dll_OpenServiceW]
test rax, rax
jne 0x100006d4e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call qword [sym.imp.wbemcomn.dll_class_CMemoryLog____ptr64___cdecl_GetMemLogObject_void_]
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.wbemcomn.dll_public:_void___cdecl_CMemoryLog::Write_long_int____ptr64]
mov rcx, qword [0x10000b190]
lea rdx, [0x10000b190]
cmp rcx, rdx
je 0x100006cec
test byte [rcx + 0x1c], 1
je 0x100006cec
cmp byte [rcx + 0x19], 2
jb 0x100006cec
mov edx, 0x13
jmp 0x100006cd9
mov rcx, rax
call qword [sym.imp.API_MS_WIN_Service_Management_L1_1_0.dll_DeleteService]
test eax, eax
jne 0x100006daa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call qword [sym.imp.wbemcomn.dll_class_CMemoryLog____ptr64___cdecl_GetMemLogObject_void_]
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.wbemcomn.dll_public:_void___cdecl_CMemoryLog::Write_long_int____ptr64]
mov rcx, qword [0x10000b190]
lea rdx, [0x10000b190]
cmp rcx, rdx
je 0x100006cec
test byte [rcx + 0x1c], 1
je 0x100006cec
cmp byte [rcx + 0x19], 2
jb 0x100006cec
mov edx, 0x14
jmp 0x100006cd9
mov eax, 1
add rsp, 0x20
pop rbx
ret
Function at 0x10000820c
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x18
xor edx, edx
cmp rcx, rdx
je 0x100008259
cmp rcx, 0xffffffffffffffff
je 0x100008259
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x100008251
cmp dword [rcx + 0x3c], edx
jl 0x100008251
cmp dword [rcx + 0x3c], 0x10000000
jae 0x100008251
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rsp], rax
cmp dword [rax], 0x4550
cmovne rax, rdx
mov rdx, rax
mov qword [rsp], rax
jmp 0x100008259
mov rax, rdx
add rsp, 0x18
ret