joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400ae360
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov rsi, rcx
mov rdi, rdx
mov ebx, r8d
mov qword [rbp - 0x40], r9
mov r14, r9
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov qword [rbp - 0x4c], rcx
mov rdx, rdi
mov qword [rbp - 0x54], rdx
mov r8d, ebx
mov dword [rbp - 0x44], r8d
mov r9, r14
mov qword [rbp - 0x5c], r9
lea rcx, [rbp - 0x88]
call fcn.1400027f0
mov rcx, qword [rbp - 0x4c]
mov rdx, qword [rbp - 0x54]
mov r8d, dword [rbp - 0x44]
mov r9, qword [rbp - 0x5c]
call sub.KERNEL32.dll_WriteFile
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.140002840
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.14000181f
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1400ae730
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], rax
mov esi, r8d
mov qword [rbp - 0x40], rdx
mov rdi, rdx
test rcx, rcx
je 0x1400ae76a
add rcx, 0xc
mov rbx, rcx
jmp 0x1400ae76c
xor ebx, ebx
mov qword [rbp - 0x48], rbx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rbx
mov qword [rbp - 0x54], rcx
mov rdx, rdi
mov qword [rbp - 0x5c], rdx
mov r8d, esi
mov dword [rbp - 0x4c], r8d
lea rcx, [rbp - 0x88]
call fcn.1400027f0
mov rcx, qword [rbp - 0x54]
mov rdx, qword [rbp - 0x5c]
mov r8d, dword [rbp - 0x4c]
call sub.KERNEL32.dll_GetEnvironmentVariableW
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.140002840
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
call fcn.14000181f
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1400af6c0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xor eax, eax
mov qword [rbp - 0x68], rax
xorps xmm4, xmm4
movaps xmmword [rbp - 0x60], xmm4
movaps xmmword [rbp - 0x50], xmm4
mov qword [rbp + 0x10], rcx
mov ebx, edx
mov rdi, r8
mov rsi, r9
mov r14, qword [rbp + 0x38]
mov r15, qword [rbp + 0x40]
mov r12, qword [rbp + 0x48]
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400a8400
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
test r12, r12
jne 0x1400af726
xor r8d, r8d
jmp 0x1400af72b
lea r8, [r12 + 0x10]
mov qword [rbp - 0x48], r8
test r15, r15
jne 0x1400af739
xor r9d, r9d
jmp 0x1400af73d
lea r9, [r15 + 0x10]
mov qword [rbp - 0x50], r9
test r14, r14
jne 0x1400af74a
xor eax, eax
jmp 0x1400af74e
lea rax, [r14 + 0x10]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x60], rsi
test rdi, rdi
jne 0x1400af760
xor r10d, r10d
jmp 0x1400af764
lea r10, [rdi + 0x10]
mov qword [rbp - 0x68], r10
mov rdi, qword [rbp + 0x30]
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r8
mov rcx, rdx
mov qword [rbp - 0x74], rcx
mov edx, ebx
mov dword [rbp - 0x6c], edx
mov r8, r10
mov qword [rbp - 0x7c], r8
mov r9, rsi
mov qword [rbp - 0x84], r9
lea rcx, [rbp - 0xb0]
call fcn.1400027f0
mov rcx, qword [rbp - 0x74]
mov edx, dword [rbp - 0x6c]
mov r8, qword [rbp - 0x7c]
mov r9, qword [rbp - 0x84]
call sub.ADVAPI32.dll_RegEnumValueW
mov esi, eax
lea rcx, [rbp - 0xb0]
call fcn.140002840
nop
xor ecx, ecx
mov qword [rbp - 0x68], rcx
xor ecx, ecx
mov qword [rbp - 0x60], rcx
xor ecx, ecx
mov qword [rbp - 0x58], rcx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1400af7fe
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400a8430
mov eax, esi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1400afac0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0xc0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov rdi, r8
mov rbx, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400a8400
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
test rsi, rsi
je 0x1400afb11
add rsi, 0xc
jmp 0x1400afb13
xor esi, esi
mov qword [rbp - 0x48], rsi
mov r14, qword [rbp + 0x30]
mov qword [rsp + 0x20], r14
mov r14, qword [rbp + 0x38]
mov qword [rsp + 0x28], r14
mov rcx, rdx
mov qword [rbp - 0x50], rcx
mov rdx, rsi
mov qword [rbp - 0x58], rdx
mov r8, rdi
mov qword [rbp - 0x60], r8
mov r9, rbx
mov qword [rbp - 0x68], r9
lea rcx, [rbp - 0x90]
call fcn.1400027f0
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x68]
call sub.ADVAPI32.dll_RegQueryValueExW
mov esi, eax
lea rcx, [rbp - 0x90]
call fcn.140002840
nop
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1400afb8c
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400a8430
mov eax, esi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1400b1830
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
mov r9, qword [rcx + 0x20]
lea r10, [rdx + rdx*4]
rol r10, 7
lea r10, [r10 + r10*8]
mov r11, rdx
shl r11, 0x11
xor r8, rax
xor r9, rdx
xor rdx, r8
xor rax, r9
xor r8, r11
rol r9, 0x2d
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x20], r9
mov rax, r10
shr rax, 0x21
cmp rax, 0x7fffffff
je fcn.1400b1830
ret

Function at 0x1400b5c90
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0xc0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov rdi, r8
mov rbx, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400a8400
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
test rsi, rsi
je 0x1400b5ce1
add rsi, 0xc
jmp 0x1400b5ce3
xor esi, esi
mov qword [rbp - 0x48], rsi
mov r14, qword [rbp + 0x30]
mov qword [rsp + 0x20], r14
mov r14, qword [rbp + 0x38]
mov qword [rsp + 0x28], r14
mov rcx, rdx
mov qword [rbp - 0x50], rcx
mov rdx, rsi
mov qword [rbp - 0x58], rdx
mov r8, rdi
mov qword [rbp - 0x60], r8
mov r9, rbx
mov qword [rbp - 0x68], r9
lea rcx, [rbp - 0x90]
call fcn.1400027f0
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x68]
call sub.ADVAPI32.dll_RegQueryValueExW
mov esi, eax
lea rcx, [rbp - 0x90]
call fcn.140002840
nop
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1400b5d5c
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400a8430
mov eax, esi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1400b7250
Capabilities:
Encrypt or decrypt data via bcrypt

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov edi, r8d
mov rbx, r9
mov r15, qword [rbp + 0x30]
mov r14, qword [rbp + 0x50]
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400a8400
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
mov qword [rbp - 0x48], r14
test r15, r15
jne 0x1400b72af
xor eax, eax
jmp 0x1400b72b3
lea rax, [r15 + 0x10]
mov qword [rbp - 0x50], rax
mov r8d, edi
mov r9, rbx
mov edi, dword [rbp + 0x38]
mov dword [rsp + 0x28], edi
mov rdi, qword [rbp + 0x40]
mov qword [rsp + 0x30], rdi
mov edi, dword [rbp + 0x48]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x40], r14
mov edi, dword [rbp + 0x58]
mov dword [rsp + 0x48], edi
mov rcx, rdx
mov qword [rbp - 0x5c], rcx
mov rdx, rsi
mov qword [rbp - 0x64], rdx
mov dword [rbp - 0x54], r8d
mov qword [rbp - 0x6c], r9
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x98]
call fcn.1400027f0
mov rcx, qword [rbp - 0x5c]
mov rdx, qword [rbp - 0x64]
mov r8d, dword [rbp - 0x54]
mov r9, qword [rbp - 0x6c]
call sub.bcrypt.dll_BCryptEncrypt
mov esi, eax
lea rcx, [rbp - 0x98]
call fcn.140002840
nop
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1400b7348
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400a8430
mov eax, esi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1400b73f0
Capabilities:
Encrypt or decrypt data via bcrypt

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov edi, r8d
mov rbx, r9
mov r15, qword [rbp + 0x30]
mov r14, qword [rbp + 0x50]
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1400a8400
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
mov qword [rbp - 0x48], r14
test r15, r15
jne 0x1400b744f
xor eax, eax
jmp 0x1400b7453
lea rax, [r15 + 0x10]
mov qword [rbp - 0x50], rax
mov r8d, edi
mov r9, rbx
mov edi, dword [rbp + 0x38]
mov dword [rsp + 0x28], edi
mov rdi, qword [rbp + 0x40]
mov qword [rsp + 0x30], rdi
mov edi, dword [rbp + 0x48]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x40], r14
mov edi, dword [rbp + 0x58]
mov dword [rsp + 0x48], edi
mov rcx, rdx
mov qword [rbp - 0x5c], rcx
mov rdx, rsi
mov qword [rbp - 0x64], rdx
mov dword [rbp - 0x54], r8d
mov qword [rbp - 0x6c], r9
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x98]
call fcn.1400027f0
mov rcx, qword [rbp - 0x5c]
mov rdx, qword [rbp - 0x64]
mov r8d, dword [rbp - 0x54]
mov r9, qword [rbp - 0x6c]
call sub.bcrypt.dll_BCryptDecrypt
mov esi, eax
lea rcx, [rbp - 0x98]
call fcn.140002840
nop
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1400b74e8
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1400a8430
mov eax, esi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1400bc080
Capabilities:
Create process on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xor eax, eax
mov qword [rbp - 0x58], rax
xorps xmm4, xmm4
movaps xmmword [rbp - 0x50], xmm4
mov qword [rbp - 0x40], rax
mov r10, qword [rbp + 0x48]
mov rax, qword [rbp + 0x58]
test rcx, rcx
jne 0x1400bc0bd
xor ecx, ecx
jmp 0x1400bc0c9
add rcx, 0xc
mov qword [rbp - 0x40], rcx
mov rcx, qword [rbp - 0x40]
test rdx, rdx
jne 0x1400bc0d2
xor edx, edx
jmp 0x1400bc0de
add rdx, 0xc
mov qword [rbp - 0x48], rdx
mov rdx, qword [rbp - 0x48]
xor r11d, r11d
cmp byte [rbp + 0x30], 0
setne r11b
test r10, r10
jne 0x1400bc0f2
xor esi, esi
jmp 0x1400bc0fe
add r10, 0xc
mov qword [rbp - 0x50], r10
mov rsi, qword [rbp - 0x50]
mov qword [rbp - 0x58], rax
mov r10d, dword [rbp + 0x38]
mov rdi, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x50]
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x78], r9
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
lea rcx, [rbp - 0xa0]
call fcn.1400027f0
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
mov r9, qword [rbp - 0x78]
call sub.KERNEL32.dll_CreateProcessW
mov esi, eax
lea rcx, [rbp - 0xa0]
call fcn.140002840
xor eax, eax
test esi, esi
setne al
movzx eax, al
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1400d2fc0
Capabilities:
Hash data using murmur3

Disassembly:
push rdi
push rsi
sub rsp, 0x28
mov esi, ecx
cmp edx, 0xffffffff
jne 0x1400d2fd4
mov edi, 0xd5313557
jmp 0x1400d2ffb
mov ecx, edx
call fcn.1400d2ef0
mov rdx, rax
lea rcx, [0x14019acf0]
lea r8, [0x14019ce90]
call fcn.140075500
mov rcx, rax
call fcn.1400d2e80
mov edi, eax
mov eax, edi
rol eax, 0xd
add eax, edi
mov edi, eax
xor edi, esi
mov eax, edi
rol eax, 0xf
add eax, edi
add rsp, 0x28
pop rsi
pop rdi
ret
Function at 0x1400ec980
Capabilities:
Hash data using murmur3

Disassembly:
xor eax, eax
mov r8d, dword [rdx + 8]
test r8d, r8d
jle 0x1400ec9bb
mov r9d, eax
lea r9, [rdx + r9*8 + 0x10]
mov r9, qword [r9]
test r9, r9
jne 0x1400ec9a0
xor r10d, r10d
jmp 0x1400ec9a4
mov r10d, dword [r9 + 0x14]
mov r9d, ecx
rol r9d, 0xd
add r9d, ecx
mov ecx, r9d
xor ecx, r10d
inc eax
cmp r8d, eax
jg 0x1400ec98b
mov eax, ecx
rol eax, 0xf
add eax, ecx
ret

Function at 0x1400f20b0
Capabilities:
Hash data using murmur3

Disassembly:
push rdi
push rsi
sub rsp, 0x28
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x48], edx
mov esi, dword [rsp + 0x40]
mov edi, dword [rsp + 0x48]
call fcn.14000103a
mov eax, dword [rax]
imul edx, esi, 0xc2b2ae3d
lea eax, [rax + rdx + 0x165667b9]
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
imul edx, edi, 0xc2b2ae3d
add eax, edx
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
mov edx, eax
shr edx, 0xf
xor edx, eax
imul eax, edx, 0x85ebca77
mov edx, eax
shr edx, 0xd
xor edx, eax
imul eax, edx, 0xc2b2ae3d
mov edx, eax
shr edx, 0x10
xor eax, edx
add rsp, 0x28
pop rsi
pop rdi
ret

Function at 0x1400f9e10
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
mov edi, edx
xor ebx, ebx
mov ebp, dword [rsi + 8]
test ebp, ebp
jle 0x1400f9e44
mov ecx, ebx
mov rcx, qword [rsi + rcx*8 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edx, edi
rol edx, 0xd
add edx, edi
mov edi, eax
xor edi, edx
inc ebx
cmp ebp, ebx
jg 0x1400f9e26
mov eax, edi
rol eax, 0xf
add eax, edi
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
ret

Function at 0x1400f9e60
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
mov edi, edx
xor ebx, ebx
mov ebp, dword [rsi + 8]
test ebp, ebp
jle 0x1400f9e94
mov ecx, ebx
mov rcx, qword [rsi + rcx*8 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edx, edi
rol edx, 0xd
add edx, edi
mov edi, eax
xor edi, edx
inc ebx
cmp ebp, ebx
jg 0x1400f9e76
mov eax, edi
rol eax, 0xf
add eax, edi
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
ret
Function at 0x140002a70
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov ebx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, ebx
movabs rax, 0x20c49ba5e353f7cf
imul rdx, qword [rdi + 0x288]
imul rdx
mov rbx, rdx
sar rbx, 7
mov rax, rbx
shr rax, 0x3f
add rbx, rax
add rbx, qword [rsp + 0x30]
nop word [rax + rax]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp qword [rsp + 0x40], rbx
jle 0x140002ac0
mov rbx, qword [rsp + 0x38]
xor eax, eax
add rsp, 0x20
pop rdi
ret
Function at 0x140007cc0
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.140002f10
nop
xor esi, esi
mov ebx, esi
cmp qword [rsp + 0x30], rbx
je 0x140007d4e
mov ecx, 0xd0
call fcn.14001df1c
mov qword [rsp + 0x290], rax
test rax, rax
je 0x140007d11
mov rcx, rax
call fcn.1400072e0
mov rbx, rax
jmp 0x140007d14
mov rbx, rsi
test rbx, rbx
je 0x140007d4e
mov rcx, rbx
call fcn.140007920
mov edi, eax
test eax, eax
js 0x140007d4e
lfence
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
mov r9, rbx
lea r8, [0x140007f40]
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 0x140007d65
lock inc dword [rax + 8]
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140003080
test edi, edi
jns 0x140007ed6
test rbx, rbx
je 0x140007ed6
mov dword [rbx], 1
cmp qword [rbx + 8], 0
je 0x140007da5
lfence
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
cmp qword [rbx + 0xb8], 0
je 0x140007dc6
lfence
mov rcx, qword [rbx + 0xb8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0xb8], rsi
cmp qword [rbx + 0x28], 0
je 0x140007e70
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.140020220
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.140003490
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x40], rsi
cmp qword [rbx + 0x20], 0
je 0x140007e70
lfence
mov rcx, qword [rbx + 0x20]
call fcn.1400256d0
mov qword [rbx + 0x20], rsi
cmp qword [rbx + 0x10], 0
je 0x140007e88
lfence
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], rsi
cmp qword [rbx + 8], 0
je 0x140007ea0
lfence
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], rsi
cmp qword [rbx + 0x38], 0
je 0x140007eb8
lfence
mov rcx, qword [rbx + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x38], rsi
lfence
mov rcx, rbx
call fcn.140007510
lfence
mov edx, 0xd0
mov rcx, rbx
call fcn.14001df58
mov rbx, rsi
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x140007f1a
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140007f1a
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [0x1400355d0]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x140007f1a
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [0x1400355d0]
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 0x14000e610
Capabilities:
Accept command line arguments

Disassembly:
sub rsp, 0x58
cmp byte [0x14004a8cd], 0
je 0x14000e627
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, [0x14004a940]
call fcn.14000e8f0
cmp al, 1
jne 0x14000e6ee
call fcn.14001c1d0
cmp byte [rax], bl
je 0x14000e6e7
call fcn.14001c1d0
cmp byte [rax + 0x70], bl
je 0x14000e6e7
call fcn.14001c1d0
cmp byte [rax + 0x30], bl
je 0x14000e6e7
call fcn.14001c1d0
cmp byte [rax + 0x80], bl
je 0x14000e6e7
call fcn.14001c1d0
cmp byte [rax + 0x90], bl
je 0x14000e6e7
call fcn.14001c1d0
cmp byte [rax + 0xa0], bl
je 0x14000e6e7
lea rax, [0x14004a9a8]
mov dword [0x14004abcc], 1
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
lea rax, [0x140010bc0]
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 0x14000e6f2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x14004abbc], eax
mov ebx, eax
jmp 0x14000e6f2
mov ebx, 0x80070032
jmp 0x14000e6f2
mov ebx, dword [rsp + 0x20]
cmp dword [0x14004abcc], 0
jne 0x14000e70a
cmp byte [0x14004a9a2], 0
je 0x14000e70a
call qword [sym.imp.ole32.dll_CoUninitialize]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
add rsp, 0x58
ret
Function at 0x14000f1d0
Capabilities:
Modify service

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rsi, rcx
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
xor edi, edi
mov qword [rbp + 7], rdi
mov dword [rbp + 0x6f], edi
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
lea rdx, [rsi + 0x68]
mov r8d, 0xf003f
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov r14, rax
lea r9, [rbp + 0x6f]
xor edx, edx
lea r8d, [rdi + 0x40]
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
jne 0x14000f3aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14000f3aa
mov eax, dword [rbp + 0x6f]
lea ebx, [rax + 0x40]
mov edx, eax
test eax, eax
je 0x14000f26a
lfence
lea r8, [rbp + 0x67]
lea rcx, [rbp - 9]
call fcn.14000fcb0
lea r9, [rbp + 0x6f]
mov r8d, ebx
mov rbx, qword [rbp - 9]
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test rbx, rbx
je 0x14000f3ae
movzx edx, byte [rsi + 0x299]
movzx ecx, byte [rsi + 0x298]
call fcn.140018f30
mov rsi, rax
test rax, rax
je 0x14000f2b9
mov rcx, rax
call fcn.140019580
test al, al
jne 0x14000f2b9
mov rcx, rsi
call fcn.140019d30
cmp dword [rbx + 4], 2
je 0x14000f308
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
lea rax, [0x1400364a0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
mov edx, 0xffffffff
mov r9d, edx
mov r8d, 2
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
test eax, eax
je 0x14000f3ae
lea rcx, [rbp - 0x19]
call fcn.140002f10
mov qword [rbp + 0x37], rdi
mov dword [rbp + 0x2b], 1
mov dword [rbp + 0x27], 1
lea rax, [0x140036490]
mov qword [rbp + 0x2f], rax
mov qword [rbp + 0x3f], rdi
mov qword [rbp + 0xf], 1
lea rax, [rbp + 0x27]
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x1f], rdi
lea r8, [rbp + 0xf]
mov edx, 8
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
mov rsi, qword [rbp - 0x11]
test eax, eax
jne 0x14000f365
mov edi, 0x80004005
test rsi, rsi
je 0x14000f3b3
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x14000f3a4
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax]
call qword [0x1400355d0]
lock xadd dword [rsi + 0xc], ebx
cmp ebx, 1
jne 0x14000f3a4
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 8]
call qword [0x1400355d0]
mov rbx, qword [rbp - 9]
jmp 0x14000f3b3
mov rbx, qword [rbp - 9]
mov edi, 0x80004005
test rbx, rbx
je 0x14000f3ec
mov rdx, qword [rbp + 7]
sub rdx, rbx
and rdx, 0xfffffffffffffffc
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000f3e4
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000f406
mov rcx, rbx
call fcn.14001df58
mov eax, edi
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.1400255ac
int3