joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400aa9b0
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x1400aab5d
lea rax, [rdx - 1]
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x20], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.1400a9090
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1400aab26
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rdi
xor r9, rdx
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1400aaaa0
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1400aab15
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1400aaadd
mov r10, qword [rdx]
cmp r10, rax
je 0x1400aaad7
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1400aab15
cmp r9, rdx
je 0x1400aaaf1
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x1400aab37
cmp r9, rdx
jne 0x1400aaae2
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
jne 0x1400aaa50
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1400aab15
lea rcx, str.invalid_hash_bucket_count
call fcn.140298d0c
int3
Function at 0x1400adfa0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x1400adffd
lea rbx, [0x140389cb0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x1400adfe4
cmp r10, 2
jb 0x1400adfe4
cmp byte [r9], r8b
jne 0x1400adfe4
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x1400adfc0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x1400ae03f
lea rbx, [0x140389cb0]
cmp r8b, 0x23
jne 0x1400ae023
cmp byte [r9], r8b
jne 0x1400ae023
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x1400ae010
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x1400ae180
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x1400ae19a
mov qword [r8], 0
lea rdx, [0x140389900]
call fcn.1400ae050
mov rbx, rax
test rax, rax
jne 0x1400ae1ba
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call fcn.1402aa890
mov esi, eax
cmp eax, 0xffffffff
je 0x1400ae288
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call fcn.1402aee40
test eax, eax
jne 0x1400ae288
mov rcx, rbx
call fcn.1402aa890
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x1400ae288
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.1402aee40
test eax, eax
jne 0x1400ae288
cmp rdi, 0xffffffffffffffff
je 0x1400ae288
mov rax, qword [0x1403d5678]
test rax, rax
je 0x1400ae22a
inc dword [rax + 0xec]
mov rcx, rdi
call fcn.1402ba7c0
mov rsi, rax
test rax, rax
je 0x1400ae288
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call fcn.1402b7b68
mov rcx, rbx
cmp rax, rdi
je 0x1400ae276
call fcn.1402aeaa0
mov rax, qword [0x1403d5678]
test rax, rax
je 0x1400ae26c
dec dword [rax + 0xec]
mov rcx, rsi
call fcn.1402b75f4
jmp 0x1400ae290
call fcn.1402aeaa0
test r14, r14
je 0x1400ae283
mov qword [r14], rdi
mov rax, rsi
jmp 0x1400ae292
mov rcx, rbx
call fcn.1402aeaa0
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x1400b1140
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0xe0]
mov rax, qword [rcx + 0xe8]
movsxd r9, edx
mov ebx, dword [rax + r8*4 - 4]
lea r8, [0x140389cb0]
not ebx
movzx eax, r9b
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r9d
shr eax, 8
movzx edx, al
mov eax, r9d
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r9d
shr rdx, 0x18
xor rdx, rcx
mov rcx, qword [0x1403d5678]
xor ebx, dword [r8 + rdx*4]
not ebx
cmp dword [rcx + 0x3eec], ebx
jne 0x1400b11d6
mov r8, r9
mov edx, 4
mov ecx, ebx
call fcn.1400c4220
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x1400b11e0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
mov rax, qword [rcx + 0xe8]
lea r9, [0x140389cb0]
movss xmm2, dword [rcx + 0x100]
movss xmm3, dword [rcx + 0x104]
movsxd rcx, dword [rcx + 0xe0]
movss xmm0, dword [rdx]
movss xmm1, dword [rdx + 4]
subss xmm0, xmm2
subss xmm1, xmm3
mov r8d, dword [rax + rcx*4 - 4]
not r8d
movzx ecx, r8b
shr r8d, 8
movss dword [rsp], xmm0
movzx eax, byte [rsp]
xor rcx, rax
movss xmm0, dword [rdx + 8]
movzx eax, byte [rsp + 1]
subss xmm0, xmm2
movss dword [rsp + 4], xmm1
movss xmm1, dword [rdx + 0xc]
xor r8d, dword [r9 + rcx*4]
subss xmm1, xmm3
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 2]
movss dword [rsp + 8], xmm0
movss dword [rsp + 0xc], xmm1
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 3]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 4]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 5]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 6]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 7]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 8]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 9]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xa]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xb]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xc]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xd]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xe]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, byte [rsp + 0xf]
movzx edx, r8b
shr r8d, 8
xor rdx, rcx
xor r8d, dword [r9 + rdx*4]
not r8d
mov eax, r8d
add rsp, 0x18
ret
Function at 0x1400bd3d0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1403c85c0]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1403d5678]
mov edi, ecx
cmp byte [rbx + 0x425d], 0
jne 0x1400bd431
cmp byte [rbx + 0x425e], 0
jne 0x1400bd431
movsx r9d, word [rbx + 0x5342]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.1400ade60
test dil, 1
je 0x1400bd558
jmp 0x1400bd4ba
movss xmm1, dword [rbx + 0x38b0]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x5342]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x140395808]
mulss xmm1, dword [0x1403957f0]
lea edx, [rax + 0x10]
addss xmm0, dword [rbx + 0xd94]
addss xmm1, dword [rbx + 0xd98]
mov qword [rbx + 0x3fd8], rax
mov dword [rbx + 0x3fc4], 1
movss dword [rbx + 0x3fd0], xmm0
movss dword [rbx + 0x3fd4], xmm1
movss xmm0, dword [rbx + 0x390c]
mulss xmm0, dword [0x140395714]
or dword [rbx + 0x3fc0], 0x41
movss dword [rbx + 0x4020], xmm0
call fcn.1400ade60
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x1400bd510
lea r11, [0x140389cb0]
nop word [rax + rax]
cmp r9b, 0x23
jne 0x1400bd4f3
cmp byte [r8], r9b
jne 0x1400bd4f3
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 0x1400bd4e0
not ecx
call fcn.1400b62b0
test rax, rax
je 0x1400bd558
cmp byte [rax + 0xa6], 0
je 0x1400bd558
mov byte [rax + 0xad], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xc8], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x5342]
mov edx, reloc.WS2_32.dll_recv
movsx r9d, word [rbx + 0x5342]
call fcn.1400ade60
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.1400b89c0
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14029a090
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x1400c33f0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x1403d5678]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x1400c3453
mov qword [rsp], rbx
lea rbx, [0x140389cb0]
nop dword [rax]
cmp r9b, 0x23
jne 0x1400c3433
cmp byte [r8], r9b
jne 0x1400c3433
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 0x1400c3420
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x53a0]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x1400c3487
mov r10, qword [r10 + 0x53a8]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x1400c348e
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x1400c3474
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret
Function at 0x1400db880
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov r9, qword [rcx + 0x188]
mov r10, rcx
movsxd rax, edx
imul rbx, rax, 0x68
add rbx, qword [rcx + 0x18]
mov dword [rcx + 0x7c], edx
test dword [rbx], 0x10000
movss xmm0, dword [rbx + 0x34]
je 0x1400db8bc
addss xmm0, dword [rcx + 0x94]
lea rsi, [r9 + 0xf0]
movss dword [rsi], xmm0
movss xmm1, dword [rcx + 0xc8]
addss xmm1, dword [rcx + 0x84]
movss dword [r9 + 0x108], xmm0
subss xmm0, dword [r9 + 0x28]
movss dword [r9 + 0xf4], xmm1
subss xmm0, dword [r9 + 0x134]
movss dword [r9 + 0x138], xmm0
mov eax, dword [rcx + 0x90]
mov dword [r9 + 0x128], eax
movsx eax, byte [rbx + 0x62]
mov dword [r9 + 0x148], eax
movss dword [r9 + 0x214], xmm1
mov eax, dword [rbx + 0x34]
mov dword [r9 + 0x210], eax
mov eax, dword [rbx + 0x38]
mov dword [r9 + 0x218], eax
mov eax, dword [rbx + 0x3c]
mov dword [r9 + 0x1b4], eax
cmp byte [rbx + 0x5a], 0
jne 0x1400db957
maxss xmm1, dword [rcx + 0x88]
movss dword [r9 + 0xf4], xmm1
movzx eax, byte [rbx + 0x60]
mov byte [r9 + 0xab], al
cmp byte [rbx + 0x60], 0
je 0x1400db97d
mov rax, qword [0x1403d5678]
xor ecx, ecx
mov dword [rax + 0x3f80], ecx
mov dword [rax + 0x3f88], ecx
test dword [r10 + 4], 0x100000
je 0x1400db992
mov r8d, 2
jmp 0x1400dba12
movups xmm0, xmmword [rbx + 0x20]
mov rax, qword [r9 + 0x290]
movss xmm4, dword [rbx + 0x20]
movss xmm3, dword [rbx + 0x24]
movss xmm2, dword [rbx + 0x28]
movss xmm1, dword [rbx + 0x2c]
movups xmmword [r9 + 0x230], xmm0
movss dword [rsp + 0x20], xmm4
movss dword [rsp + 0x24], xmm3
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x2c], xmm1
movss dword [rax + 0x88], xmm4
movss dword [rax + 0x8c], xmm3
movss dword [rax + 0x90], xmm2
movss dword [rax + 0x94], xmm1
mov rax, qword [r9 + 0x290]
movups xmm0, xmmword [rsp + 0x20]
movsxd rdx, dword [rax + 0x58]
mov rcx, qword [rax + 0x60]
add rdx, rdx
movups xmmword [rcx + rdx*8 - 0x10], xmm0
movzx r8d, byte [rbx + 0x57]
mov rdx, qword [r9 + 0x290]
mov rcx, qword [r10 + 0x1a0]
call fcn.1400d1a40
mov rdi, qword [0x1403d5678]
cmp byte [rdi + 0x53e4], 0
je 0x1400dba57
cmp byte [rbx + 0x60], 0
jne 0x1400dba57
xor r8d, r8d
lea rdx, [0x140393830]
mov rcx, rsi
call fcn.1400c2ee0
mov dword [rdi + 0x5418], 0x7f7fffff
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x1400f1820
Capabilities:
Hash data with crc32

Disassembly:
push rdi
sub rsp, 0x20
test dword [rcx + 0x10], 0x100000
mov rdi, rdx
je 0x1400f18ac
movzx r9d, byte [rdx]
lea r8, [rdx + 1]
mov r10d, 0xffffffff
mov eax, r10d
test r9b, r9b
je 0x1400f1880
lea r11, [0x140389cb0]
nop
cmp r9b, 0x23
jne 0x1400f1863
cmp byte [r8], r9b
jne 0x1400f1863
cmp byte [r8 + 1], r9b
cmove eax, r10d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [r11 + rdx*4]
test r9b, r9b
jne 0x1400f1850
mov rcx, qword [0x1403d5678]
not eax
cmp dword [rcx + 0x3f04], eax
jne 0x1400f1897
mov dword [rcx + 0x3f08], eax
cmp dword [rcx + 0x3f30], eax
jne 0x1400f1906
mov byte [rcx + 0x3f34], 1
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbx
xor edx, edx
mov rbx, qword [0x1403d5678]
mov rcx, rdi
mov qword [rsp + 0x38], rsi
mov r8, qword [rbx + 0x3eb8]
movsxd rax, dword [r8 + 0xe0]
mov r8, qword [r8 + 0xe8]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1400adfa0
cmp dword [rbx + 0x3eec], eax
mov esi, eax
mov rbx, qword [rsp + 0x30]
jne 0x1400f18ff
mov r8, rdi
mov edx, ntohs
mov ecx, eax
call fcn.1400c4220
mov eax, esi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x1400f7dc0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x160
mov rax, qword [0x1403c85c0]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor edi, edi
mov rbp, rcx
xor edx, edx
mov ebx, edi
lea ecx, [rdi + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400f7e08
xor eax, eax
jmp 0x1400f7e72
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], pe_nt_image_headers64
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x1400f7e67
lea rax, [rsp + 0x4c]
mov r8, rbp
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400f7e43
inc rax
test ecx, ecx
jne 0x1400f7e30
test edx, edx
jne 0x1400f7e55
mov eax, dword [rsp + 0x3c]
cmp eax, ebx
jbe 0x1400f7e55
mov edi, dword [rsp + 0x28]
mov ebx, eax
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x1400f7e22
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14029a090
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x1400f8290
Capabilities:
Delete file
Delete service
Modify service
Stop service

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x90
mov rax, qword [0x1403c85c0]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rbx, qword [0x1403d56b8]
movzx ecx, byte [rbx]
test cl, cl
je 0x1400f82c3
mov word [rbx + 0x78], 0
cmp byte [rbx + 0x78], 0
je 0x1400f82d4
test cl, cl
jne 0x1400f82d4
mov al, 1
jmp 0x1400f8416
xor edx, edx
mov qword [rsp + 0xa8], rsi
xor ecx, ecx
lea r8d, [rdx + 1]
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov rsi, rax
test rax, rax
je 0x1400f844d
cmp byte [rbx + 0x79], 0
lea rdx, [rbx + 0x48]
mov eax, 0x10020
mov ecx, reloc.WLDAP32.dll_Ordinal_32
cmovne eax, ecx
mov r8d, eax
or r8d, 2
cmp byte [rbx + 0x7a], 0
cmove r8d, eax
cmp qword [rdx + 0x18], 0xf
jbe 0x1400f8324
mov rdx, qword [rdx]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov rdi, rax
test rax, rax
je 0x1400f8444
lea r8, [rsp + 0x60]
mov edx, 1
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
je 0x1400f843b
cmp byte [rbx + 0x7a], 0
je 0x1400f839c
xor eax, eax
mov edx, 0xffffffff
mov qword [rsp + 0x50], rax
mov r9d, edx
mov qword [rsp + 0x48], rax
mov rcx, rdi
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
lea r8d, [rax + 4]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfigA]
test eax, eax
je 0x1400f843b
cmp byte [rbx + 0x79], 0
je 0x1400f83bd
cmp byte [rbx], 0
jne 0x1400f83bd
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov al, 1
jmp 0x1400f840e
mov rcx, rdi
mov qword [rsp + 0xa0], rbp
call qword [sym.imp.ADVAPI32.dll_DeleteService]
mov rcx, rdi
mov ebp, eax
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp byte [rbx + 0x7b], 0
je 0x1400f8437
cmp byte [rbx], 0
je 0x1400f8437
cmp qword [rbx + 0x20], 0xf
lea rcx, [rbx + 8]
jbe 0x1400f83fb
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
mov rbp, qword [rsp + 0xa0]
setne al
mov rsi, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14029a090
mov rbx, qword [rsp + 0xb0]
add rsp, 0x90
pop rdi
ret
test ebp, ebp
jmp 0x1400f8403
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor al, al
jmp 0x1400f840e
Function at 0x1400f9dc0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x160
mov rax, qword [0x1403c85c0]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor edi, edi
xor edx, edx
mov ebx, edi
lea ecx, [rdi + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], pe_nt_image_headers64
mov rcx, rax
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
je 0x1400f9e70
nop
mov eax, dword [0x1403d560c]
cmp eax, 3
jne 0x1400f9e34
lea rdx, str.AndroidProcess.exe
jmp 0x1400f9e42
dec eax
cmp eax, 1
ja 0x1400f9e5e
lea rdx, str.aow_exe.exe
lea rcx, [rsp + 0x4c]
call fcn.1402bb690
test eax, eax
jne 0x1400f9e5e
mov eax, dword [rsp + 0x3c]
cmp eax, ebx
jle 0x1400f9e5e
mov edi, dword [rsp + 0x28]
mov ebx, eax
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x1400f9e20
mov eax, edi
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.14029a090
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x1400fc610
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r10, rcx
mov r9d, 0x138
mov ecx, dword [rcx]
cmp ecx, r9d
jne 0x1400fc677
lea r8, [r10 + 0x10]
movabs r11, 0xb5026f5aa96619e9
mov rdx, qword [r8]
xor rdx, qword [r8 - 8]
lea r8, [r8 + 8]
and rdx, 0xffffffff80000000
xor rdx, qword [r8 - 8]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r8 + 0x4d0]
xor rcx, rdx
mov qword [r8 + 0x9b0], rcx
sub r9, 1
jne 0x1400fc632
mov ecx, dword [r10]
jmp 0x1400fc786
cmp ecx, 0x270
jb 0x1400fc786
mov qword [rsp + 0x10], rbx
movabs r11, 0xb5026f5aa96619e9
lea rbx, [r10 + 0x9c8]
mov qword [rsp], rdi
mov rax, qword [rbx]
mov edi, 0x9c
nop word [rax + rax]
mov r9, qword [rbx + 8]
lea rbx, [rbx + 8]
mov rdx, r9
xor rdx, rax
and rdx, 0xffffffff80000000
xor rdx, r9
movzx eax, dl
and al, 1
neg al
mov rax, r9
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [rbx + 0x4d8]
xor rcx, rdx
mov qword [rbx - 0x9c8], rcx
sub rdi, 1
jne 0x1400fc6b0
lea rbx, [r10 + 0xea8]
mov edi, 0x9b
mov r9, qword [rbx]
mov r8, qword [rbx + 8]
lea rbx, [rbx + 8]
xor r9, r8
and r9, 0xffffffff80000000
xor r9, r8
movzx eax, r9b
and al, 1
neg al
sbb rcx, rcx
shr r9, 1
and rcx, r11
xor rcx, qword [rbx - 0xea8]
xor rcx, r9
mov r9, r8
mov qword [rbx - 0x9c8], rcx
sub rdi, 1
jne 0x1400fc701
mov rdx, qword [r10 + 8]
xor rdx, qword [r10 + 0x1380]
mov rdi, qword [rsp]
and rdx, 0xffffffff80000000
xor rdx, qword [r10 + 8]
mov rbx, qword [rsp + 0x10]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r10 + 0x4e0]
xor rcx, rdx
mov qword [r10 + 0x9c0], rcx
xor ecx, ecx
mov dword [r10], ecx
mov eax, ecx
mov rdx, qword [r10 + rax*8 + 8]
lea eax, [rcx + 1]
mov dword [r10], eax
mov rcx, rdx
mov rax, qword [r10 + 0x1388]
shr rcx, 0x1d
and rax, rcx
movabs rcx, 0x38eb3ffff6d3
xor rdx, rax
mov rax, rdx
and rax, rcx
shl rax, 0x11
xor rdx, rax
mov rax, rdx
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rdx, rax
mov rax, rdx
shr rax, 0x2b
xor rax, rdx
add rsp, 8
ret
Function at 0x1400fcc10
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x1403c85c0]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdi, qword [0x1404081b8]
mov rbx, r8
lea rsi, [rdi + 0x164]
lea rcx, [rdi + 0x16c]
mov dword [rsi], 1
call fcn.1402de2b0
mov dword [rdi + 0x168], ebx
add rbx, 8
je 0x1400fcce7
mov rax, qword [rdi]
test rax, rax
je 0x1400fcca5
mov rcx, qword [rax + 8]
cmp rcx, 0xffffffffffffffff
je 0x1400fcca5
test rsi, rsi
je 0x1400fcca5
lea r9, [rsp + 0x30]
mov dword [rsp + 0x30], 0
mov r8d, ebx
mov qword [rsp + 0x20], 0
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x1400fcca5
cmp dword [rsp + 0x30], ebx
je 0x1400fcce7
mov r8, qword [rdi + 0x18]
test r8, r8
je 0x1400fccc4
mov eax, dword [rdi + 8]
dec eax
test eax, 0xfffffffd
jne 0x1400fccc4
mov ecx, dword [rdi + 0x60]
lea rdx, [rdi + 0x64]
call r8
mov rbx, qword [rdi]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], 0xffffffffffffffff
xor al, al
mov byte [rbx], 0
mov dword [rdi + 8], 0
jmp 0x1400fcce9
mov al, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14029a090
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
Function at 0x140126c50
Capabilities:
Convert ip address from string

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rax, qword [0x1403c85c0]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov r13, qword [rcx]
mov ebp, r8d
mov rsi, rcx
lea r8, [rsp + 0x20]
mov ebx, 2
xor r14d, r14d
mov ecx, ebx
mov r15, r9
mov r12, qword [r13 + 0x11b0]
mov rdi, rdx
mov dword [r9], r14d
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x140126cbc
mov r9d, ebp
lea rdx, [rsp + 0x20]
mov r8, rdi
mov ecx, ebx
call fcn.140146280
jmp 0x140126d9a
mov ebx, reloc.WS2_32.dll_socket
lea r8, [rsp + 0x58]
mov ecx, ebx
mov rdx, rdi
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x140126cec
mov r9d, ebp
lea rdx, [rsp + 0x58]
mov r8, rdi
mov ecx, ebx
call fcn.140146280
jmp 0x140126d9a
mov ecx, dword [rsi + 0x440]
sub ecx, 1
je 0x140126d10
cmp ecx, 1
je 0x140126cff
mov ebx, r14d
call fcn.140127780
test al, al
mov eax, 2
cmove ebx, eax
jmp 0x140126d15
mov ebx, 2
cmp dword [rsi + 0xbc], 3
lea r8, [0x140388c44]
xorps xmm0, xmm0
lea rcx, [rsp + 0x68]
movups xmmword [rsp + 0x28], xmm0
setne r14b
mov dword [rsp + 0x2c], ebx
inc r14d
mov r9d, ebp
mov edx, ntohs
mov dword [rsp + 0x30], r14d
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
call fcn.1401375f0
lea rcx, [rsp + 0x58]
call fcn.140126ae0
lea r9, [rsp + 0x28]
mov r8d, ebp
mov rdx, rdi
mov rcx, rsi
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
call fcn.1401273e0
test al, al
je 0x140126d89
mov dword [r15], 1
jmp 0x140126d98
lea rdx, str.getaddrinfo___thread_failed_to_start_n
mov rcx, r13
call fcn.1401335e0
xor eax, eax
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14029a090
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
jmp 0x140126c50