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

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 0xa], sil
je 0x14001bcf4
mov eax, esi
lea ecx, [rax - 0x65]
xor byte [r8 + rax], cl
inc rax
cmp rax, 9
jb 0x14001bce0
mov byte [r8 + 0xa], sil
add r8, 9
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.1400126b0
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14001bd19
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140026f10
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14001bd93
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001bd8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001bd8e
call qword [0x140081a10]
int3
call fcn.14007cfdc
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x14001bda0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x70
mov r10, r8
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x28], rcx
xor ebx, ebx
cmp byte [r8 + 0xb], bl
je 0x14001bdd4
mov ecx, ebx
lea eax, [rcx - 0x65]
xor byte [r8 + rcx], al
inc rcx
cmp rcx, 0xa
jb 0x14001bdc0
mov byte [r8 + 0xb], bl
add r8, 0xa
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x50]
call fcn.1400126b0
nop
cmp byte [rdi + 0xb], 0
je 0x14001be04
lea eax, [rbx - 0x65]
xor byte [rbx + rdi], al
inc rbx
cmp rbx, 0xa
jb 0x14001bdf1
mov byte [rdi + 0xb], 0
lea r8, [rdi + 0xa]
lea r9, [rsp + 0x20]
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.1400126b0
nop
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
movzx edx, byte [rsp + 0x20]
mov rcx, rsi
call fcn.1400215e0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14001be74
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001be6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001be6e
call qword [0x140081a10]
int3
call fcn.14007cfdc
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14001beb4
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001beaf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001beaf
call qword [0x140081a10]
int3
call fcn.14007cfdc
mov rax, rsi
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
Function at 0x14001bec0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r10, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
cmp byte [r8 + 0xc], sil
je 0x14001bef4
mov eax, esi
lea ecx, [rax - 0x65]
xor byte [r8 + rax], cl
inc rax
cmp rax, 0xb
jb 0x14001bee0
mov byte [r8 + 0xc], sil
add r8, 0xb
lea r9, [rsp + 0x20]
mov rdx, r10
lea rcx, [rsp + 0x30]
call fcn.1400126b0
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14001bf19
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140026f10
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14001bf93
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001bf8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001bf8e
call qword [0x140081a10]
int3
call fcn.14007cfdc
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x140022590
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 9], al
je 0x1400225b3
lea edx, [rax - 0x65]
xor byte [rax + rcx], dl
inc rax
cmp rax, 8
jb 0x1400225a0
mov byte [rcx + 9], 0
lea r8, [rcx + 8]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.1400126b0
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x1400225d0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rdx
cmp byte [rcx + 0x10], al
je 0x1400225f3
lea edx, [rax - 0x65]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xf
jb 0x1400225e0
mov byte [rcx + 0x10], 0
lea r8, [rcx + 0xf]
mov rdx, rcx
mov rcx, rbx
lea r9, [rsp + 0x48]
call fcn.1400126b0
mov rax, rbx
add rsp, 0x30
pop rbx
ret

Function at 0x140023160
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 5], 0
je 0x140023183
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x65]
xor byte [rax + rcx], dl
inc rax
cmp rax, 4
jb 0x140023170
mov byte [rcx + 5], 0
mov rax, rcx
ret

Function at 0x140023190
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x136], 0
je 0x1400231b8
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x65]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x135
jb 0x1400231a0
mov byte [rcx + 0x136], 0
mov rax, rcx
ret

Function at 0x1400231c0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x44], 0
je 0x1400231e3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x65]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x43
jb 0x1400231d0
mov byte [rcx + 0x44], 0
mov rax, rcx
ret

Function at 0x1400231f0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x47], 0
je 0x140023213
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x65]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x46
jb 0x140023200
mov byte [rcx + 0x47], 0
mov rax, rcx
ret
Function at 0x140023920
Capabilities:
Encode data using xor

Disassembly:
xor r9d, r9d
mov r10, rcx
mov ecx, r9d
test r8, r8
je 0x140023a07
sub r10, rdx
cmp r8, 8
jb 0x1400239e3
mov rax, r8
lea r9, [rdx + 4]
and rax, 0xfffffffffffffff8
xorps xmm3, xmm3
xorps xmm2, xmm2
movd xmm1, dword [r10 + r9 - 4]
add rcx, 8
movd xmm0, dword [r9 - 4]
lea r9, [r9 + 8]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
punpcklbw xmm0, xmm0
psrad xmm1, 0x18
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
pxor xmm1, xmm0
movd xmm0, dword [r9 - 8]
punpcklbw xmm0, xmm0
por xmm3, xmm1
movd xmm1, dword [r10 + r9 - 8]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
punpcklwd xmm0, xmm0
psrad xmm1, 0x18
psrad xmm0, 0x18
pxor xmm1, xmm0
por xmm2, xmm1
cmp rcx, rax
jb 0x140023950
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movd r9d, xmm2
cmp rcx, r8
jae 0x140023a07
lea rax, [rcx + rdx]
sub r8, rcx
nop word [rax + rax]
movsx edx, byte [r10 + rax]
movsx ecx, byte [rax]
lea rax, [rax + 1]
xor edx, ecx
or r9d, edx
sub r8, 1
jne 0x1400239f0
test r9d, r9d
sete al
ret
Function at 0x140047a30
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov r8d, dword [rcx + 0x28]
mov rdi, rdx
mov rbx, rcx
cmp r8d, 0x40
jae 0x140047be8
lea ecx, [r8*8]
mov qword [rsp + 0x30], rsi
add qword [rbx], rcx
mov byte [r8 + rbx + 0x2c], 0x80
mov eax, dword [rbx + 0x28]
inc eax
mov dword [rbx + 0x28], eax
cmp eax, 0x38
jbe 0x140047aa8
cmp eax, 0x40
jae 0x140047a92
nop word [rax + rax]
mov byte [rax + rbx + 0x2c], 0
mov eax, dword [rbx + 0x28]
inc eax
mov dword [rbx + 0x28], eax
cmp eax, 0x40
jb 0x140047a80
lea rsi, [rbx + 0x2c]
mov rcx, rbx
mov rdx, rsi
call fcn.140047d10
xor eax, eax
mov dword [rbx + 0x28], eax
jmp 0x140047ab0
lea rsi, [rbx + 0x2c]
jae 0x140047ac2
nop
mov byte [rax + rbx + 0x2c], 0
mov eax, dword [rbx + 0x28]
inc eax
mov dword [rbx + 0x28], eax
cmp eax, 0x38
jb 0x140047ab0
movzx eax, byte [rbx + 7]
mov rdx, rsi
mov byte [rbx + 0x64], al
mov rcx, rbx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0x65], al
movzx eax, byte [rbx + 5]
mov byte [rbx + 0x66], al
movzx eax, byte [rbx + 4]
mov byte [rbx + 0x67], al
movzx eax, byte [rbx + 3]
mov byte [rbx + 0x68], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0x69], al
movzx eax, byte [rbx + 1]
mov byte [rbx + 0x6a], al
movzx eax, byte [rbx]
mov byte [rbx + 0x6b], al
call fcn.140047d10
movzx eax, byte [rbx + 0xb]
mov byte [rdi], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 1], al
movzx eax, byte [rbx + 9]
mov byte [rdi + 2], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xf]
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 5], al
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x10], al
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x23]
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x21]
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x24]
mov rsi, qword [rsp + 0x30]
mov byte [rdi + 0x1f], al
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140047c00
Capabilities:
Hash data using sha256

Disassembly:
xor eax, eax
mov qword [rcx + 0x24], 0x5be0cd19
mov qword [rcx], rax
mov dword [rcx + 8], 0x6a09e667
mov dword [rcx + 0xc], 0xbb67ae85
mov dword [rcx + 0x10], 0x3c6ef372
mov dword [rcx + 0x14], 0xa54ff53a
mov dword [rcx + 0x18], 0x510e527f
mov dword [rcx + 0x1c], 0x9b05688c
mov dword [rcx + 0x20], 0x1f83d9ab
ret
Function at 0x140061c20
Capabilities:
Check http status code

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x30
xor ebx, ebx
lea eax, [rdx - 0xc8]
mov rdi, rcx
mov rcx, qword [rcx]
mov esi, r8d
cmp eax, 0x64
jb 0x140061c55
lea rdx, str.Couldnt_set_desired_mode
call fcn.140043f60
lea eax, [rbx + 0x11]
add rsp, 0x30
pop rdi
pop rsi
pop rbx
ret
cmp edx, 0xc8
je 0x140061c6c
mov r8d, edx
lea rdx, str.Got_a__03d_response_code_instead_of_the_assumed_200_n
call fcn.1400440e0
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], r14
cmp esi, 0x13
jne 0x140061c88
mov rcx, rdi
call fcn.140061b60
jmp 0x140061dbf
cmp esi, 0x14
jne 0x140061da1
mov rsi, qword [rdi]
mov rbp, rbx
cmp dword [rsi + 0xba0], 2
jne 0x140061d09
mov rax, qword [rsi + 0x1e0]
mov rdx, qword [rax]
test rdx, rdx
je 0x140061d09
mov byte [rsp + 0x28], 1
lea r9, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov qword [rsp + 0x50], rbx
call fcn.14002d600
test eax, eax
jne 0x140061dbf
mov rcx, qword [rsp + 0x50]
lea edx, [rax + 0x2f]
call fcn.14007deb6
test rax, rax
je 0x140061cfe
mov rbp, qword [rsp + 0x50]
mov ecx, 1
sub rax, rbp
cmovne rcx, rax
mov byte [rcx + rbp], bl
jmp 0x140061d09
mov rcx, qword [rsp + 0x50]
call qword [fcn.14007dee0]
mov rdx, qword [rsi + 0xc08]
test rdx, rdx
jne 0x140061d2d
cmp byte [rsi + 0xf0d], bl
lea rax, str.NLST
lea rdx, str.LIST
cmovne rdx, rax
lea r8, [0x14008f649]
test rbp, rbp
mov r9, r8
lea rax, [0x140082170]
cmovne r9, rbp
lea rcx, [0x140085448]
cmovne r8, rax
call fcn.140032820
mov rcx, rbp
mov r14, rax
call qword [fcn.14007dee0]
test r14, r14
jne 0x140061d6c
lea ebx, [r14 + 0x1b]
jmp 0x140061dc1
lea rcx, [rdi + 0xa00]
mov r8, r14
lea rdx, [0x140089c40]
call fcn.140077d80
mov rcx, r14
mov esi, eax
call qword [fcn.14007dee0]
test esi, esi
je 0x140061d95
mov ebx, esi
jmp 0x140061dc1
mov dword [rdi + 0xab8], 0x1f
jmp 0x140061dc1
cmp esi, 0x15
jne 0x140061dac
lea r8d, [rsi - 8]
jmp 0x140061db5
cmp esi, 0x16
jne 0x140061dc1
lea r8d, [rsi - 8]
mov dl, 1
mov rcx, rdi
call fcn.140061690
mov ebx, eax
mov r14, qword [rsp + 0x60]
mov eax, ebx
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rsi
pop rbx
ret
Function at 0x14007c600
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rdi
push r14
sub rsp, 0x20
mov eax, dword [rcx + 0x18]
mov rbx, rcx
mov ebp, r8d
mov r14, rdx
lea ecx, [rax + rax]
mov eax, dword [rbx + 0x20]
add rax, 0x18
add rcx, rax
call qword [fcn.14007dee6]
mov rdi, rax
test rax, rax
jne 0x14007c642
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rbp
ret
lea rcx, [rax + 0x18]
mov qword [rax], rbx
mov qword [rax + 8], rcx
mov eax, dword [rbx + 0x18]
add rax, rcx
mov qword [rsp + 0x48], rsi
mov qword [rdi + 0x10], rax
cmp ebp, dword [rbx + 0x1c]
jbe 0x14007c689
call qword [rbx]
mov rcx, qword [rdi + 8]
mov r8d, ebp
mov rdx, r14
call qword [rbx + 8]
mov r14d, dword [rbx + 0x18]
add r14, qword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, r14
call qword [rbx + 0x10]
mov rcx, qword [rdi + 8]
mov ebp, dword [rbx + 0x20]
call qword [rbx]
mov rcx, qword [rdi + 0x10]
call qword [rbx]
xor esi, esi
test rbp, rbp
je 0x14007c6e2
mov rsi, rbp
nop dword [rax + rax]
movzx eax, byte [r14]
lea rdx, [rsp + 0x40]
xor al, 0x36
mov r8d, 1
mov byte [rsp + 0x40], al
mov rcx, qword [rdi + 8]
call qword [rbx + 8]
movzx eax, byte [r14]
lea rdx, [rsp + 0x40]
xor al, 0x5c
lea r14, [r14 + 1]
mov byte [rsp + 0x40], al
mov r8d, 1
mov rcx, qword [rdi + 0x10]
call qword [rbx + 8]
sub rbp, 1
jne 0x14007c6a0
mov eax, dword [rbx + 0x1c]
cmp rsi, rax
jae 0x14007c723
nop word [rax + rax]
mov rcx, qword [rdi + 8]
lea rdx, [0x14008f3ca]
mov r8d, 1
call qword [rbx + 8]
mov rcx, qword [rdi + 0x10]
lea rdx, [0x14008f3cb]
mov r8d, 1
call qword [rbx + 8]
mov eax, dword [rbx + 0x1c]
inc rsi
cmp rsi, rax
jb 0x14007c6f0
mov rsi, qword [rsp + 0x48]
mov rax, rdi
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rbp
ret

Function at 0x14007db54
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [0x140081200]
test rax, rax
je 0x14007db9e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14007db9e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14007db9e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14007db9e
cmp dword [rcx + 0x84], 0xe
jbe 0x14007db9e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x14007dba0
xor al, al
add rsp, 0x28
ret
Function at 0x140007fc0
Capabilities:
Print debug messages

Disassembly:
push rbx
sub rsp, 0x20
xor ebx, ebx
xor eax, eax
lock cmpxchg dword [0x14024c424], ebx
je 0x1400080b4
mov eax, ebx
xchg dword [0x14024c424], eax
mov eax, 1
xchg dword [0x14024c524], eax
call fcn.14000c920
lea ecx, [rbx + 0x67]
call fcn.1400127c0
call fcn.140009c00
lea ecx, [rbx + 1]
call fcn.14000c4a0
call fcn.1400092a0
test byte [0x14024c420], 1
je 0x140008035
lea ecx, [rbx + 0x66]
call fcn.1400127c0
mov rcx, qword [0x14023cd30]
call qword [sym.imp.ADVAPI32.dll_EventUnregister]
mov qword [0x14023cd30], rbx
mov dword [0x14023cd10], ebx
lea rcx, [0x140256d90]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lock and dword [0x14024c728], 0xfffffffe
lock and dword [0x14024c728], 0xffffffef
mov eax, ebx
lea rcx, [0x140256d90]
xchg dword [0x140255924], eax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
xchg dword [0x14024c450], eax
test eax, eax
jne 0x140008080
lea rcx, str.dbgEngineStore:___Has_not_started_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xchg qword [0x140256dc8], rbx
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400080a1
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
lea rcx, [0x14024c428]
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
add rsp, 0x20
pop rbx
ret

Function at 0x1400080c0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
xor ebx, ebx
mov edi, ecx
xor eax, eax
lock cmpxchg dword [0x14024c424], ebx
test al, 1
jne 0x1400080f4
lea rcx, str.RfeStopINetInterface:__Filtering_Engine_has_not_been_started
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
jmp qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [0x14024c4f0], ebx
je 0x1400081a1
cmp qword [0x14024c4c0], rbx
je 0x1400081a1
lea rcx, [0x14024c4c8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rax, [0x14024c480]
mov rdx, rdi
xchg dword [rax + rdi*4], ebx
test ebx, ebx
je 0x140008194
cmp edi, 0xf
ja 0x140008194
mov rax, qword [0x14024c4c0]
lea rcx, [0x14024c4c8]
shl rdx, 6
mov dword [rdx + rax + 0x20], 0xb2d05e0
mov rax, qword [0x14024c4c0]
mov dword [rdx + rax + 0x24], 0xb2d05e0
lock dec dword [0x14024c468]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor r9d, r9d
mov dword [rsp + 0x28], 0xb2d05e0
mov edx, edi
mov dword [rsp + 0x20], 0xb2d05e0
mov ecx, 0x120404
lea r8d, [r9 + 2]
call fcn.14000c600
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
lea rcx, [0x14024c4c8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
Function at 0x140010d30
Capabilities:
Get local ipv4 addresses

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x30
xor esi, esi
mov dword [rsp + 0x80], 0x3480
lea rbx, [0x14024ce20]
xor edx, edx
mov rcx, rbx
mov r8d, 0x3480
mov edi, esi
mov r15d, esi
mov r13d, esi
mov r12d, esi
call fcn.140167e60
lea rbp, [0x1402502d0]
xor edx, edx
mov rcx, rbp
mov r8d, 0x5640
call fcn.140167e60
lea rcx, [0x14024c5e0]
mov dword [0x14024c990], esi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, 1
lea rcx, [0x14024c5e0]
xchg dword [0x1402502b0], eax
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x140010dd4
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 0x420
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop word [rax + rax]
lea rax, [rsp + 0x80]
mov r9, rbx
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x884
xor ecx, ecx
inc edi
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
cmp eax, 0x6f
je 0x140010f1b
cmp edi, 1
jl 0x140010de0
mov qword [rsp + 0x88], r14
lea rdi, [0x140250530]
mov r14, rsi
cmp qword [rbx + 0x40], 0
je 0x140010e87
movsxd rax, r15d
imul rcx, rax, 0x2e0
add rbp, rcx
mov rcx, rbx
mov rdx, rbp
call fcn.14000f980
test eax, eax
je 0x140010e68
inc dword [0x14024c990]
mov rcx, rbp
call fcn.14000ed50
mov eax, dword [rdi - 0x28]
cmp eax, 0x14
jne 0x140010e60
inc r13d
jmp 0x140010e68
cmp eax, 0x13
jne 0x140010e68
inc r12d
inc esi
cmp dword [rdi], 0
je 0x140010e80
mov rdx, rbp
mov rcx, rbx
call fcn.14000eae0
mov dword [rdi - 0x248], eax
lea rbp, [0x1402502d0]
mov rbx, qword [rbx + 8]
inc r15d
inc r14
add rdi, 0x2e0
test rbx, rbx
jne 0x140010e22
mov r14, qword [rsp + 0x88]
mov dword [rsp + 0x70], esi
mov rsi, rbx
test r13d, r13d
je 0x140010eea
test r12d, r12d
jne 0x140010eea
movzx ecx, byte [0x14024c456]
test rcx, rcx
je 0x140010eea
lea rax, [0x14025052c]
nop dword [rax]
cmp dword [rax - 0x24], 0x14
jne 0x140010ede
mov dword [rax], esi
mov dword [rax - 0x244], esi
add rax, 0x2e0
sub rcx, 1
jne 0x140010ed0
mov edx, dword [rsp + 0x70]
call fcn.140011200
lea rcx, [0x14024c5e0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, esi
lea rcx, [0x14024c5e0]
xchg dword [0x1402502b0], eax
mov dword [rsp + 0x78], eax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x140010f20
mov esi, 0x6f
mov eax, esi
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400116f0
Capabilities:
Persist via windows service
Set registry value

Disassembly:
push rbx
sub rsp, 0x50
xor ebx, ebx
lea rdx, str.SYSTEMCurrentControlSetServicesIntel_Connectivity_Network_ServiceSLibCFG
cmp ecx, 2
mov qword [rsp + 0x70], rbx
mov eax, 6
mov dword [rsp + 0x60], ebx
cmove ecx, eax
lea rax, [rsp + 0x70]
mov dword [rsp + 0x68], ecx
lea r9d, [rbx + 2]
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14001177c
lea rax, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea rdx, str.SYSTEMCurrentControlSetServicesIntel_Connectivity_Network_ServiceSLibCFG
lea rax, [rsp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1400117bd
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x68]
mov dword [rsp + 0x28], 4
lea rdx, str.Redir
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x70]
mov ebx, eax
test rcx, rcx
je 0x1400117bb
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
add rsp, 0x50
pop rbx
ret
Function at 0x140017990
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x28
xor edx, edx
lea rcx, str.SetupAPI.dll
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [0x140257058], rax
test rax, rax
je 0x140017b47
lea rdx, str.SetupDiGetClassDevsW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140257258], rax
test rax, rax
je 0x140017b24
mov rcx, qword [0x140257058]
lea rdx, [0x1401e52e8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140257248], rax
test rax, rax
je 0x140017b01
mov rcx, qword [0x140257058]
lea rdx, [0x1401e5340]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140257230], rax
test rax, rax
je 0x140017ade
mov rcx, qword [0x140257058]
lea rdx, [0x1401e53c0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140257238], rax
test rax, rax
je 0x140017ab8
mov rcx, qword [0x140257058]
lea rdx, str.SetupDiEnumDeviceInterfaces
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140257240], rax
test rax, rax
jne 0x140017a70
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._s:_GetProcAddress_for_SetupDiEmumDeivceInterfaces_failed_Error_d
jmp 0x140017a9d
mov rcx, qword [0x140257058]
lea rdx, str.SetupDiGetDeviceInterfaceDetailW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140257250], rax
test rax, rax
jne 0x140017ab1
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._s:_GetProcAddress_for_SetupDiGetDeviceInterfaceDetailW_failed_Error_d
mov r9d, eax
lea r8, str.enum_loadlib
mov ecx, 2
call fcn.140013600
mov al, 1
add rsp, 0x28
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.enum_loadlib
mov ecx, 2
mov r9d, eax
lea rdx, str._s:_GetProcAddress_for_SetupDiDestroyDeviceInfoList_failed_Error_d
call fcn.140013600
jmp 0x140017b5f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.enum_loadlib
mov ecx, 2
mov r9d, eax
lea rdx, str._s:_GetProcAddress_for_SetupDiGetDeviceRegistryPropertyW_failed_Error_d
call fcn.140013600
jmp 0x140017b5f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.enum_loadlib
mov ecx, 2
mov r9d, eax
lea rdx, str._s:_GetProcAddress_for_SetupDiEnumDeviceInfo_failed_Error_d
call fcn.140013600
jmp 0x140017b5f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.enum_loadlib
mov ecx, 2
mov r9d, eax
lea rdx, str._s:_GetProcAddress_for_SetupDiGetClassDevsW_failed_Error_d
call fcn.140013600
jmp 0x140017b5f
lea r8, str.enum_loadlib
mov ecx, 2
lea rdx, str._s:_LoadLib_for_SetupApi.dll_failed
call fcn.140013600
mov rcx, qword [0x140257058]
test rcx, rcx
je 0x140017b7c
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x140257058], 0
xor al, al
add rsp, 0x28
ret