joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140101680
Capabilities:
Connect socket

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rcx
test rdx, rdx
je 0x14010169f
mov qword [rsi + 8], r8
mov qword [rsi], 1
jmp 0x14010177f
mov rax, qword [0x1401eb338]
cmp rax, 3
jne 0x14010178a
lea rcx, [rsp + 0x20]
mov rbx, r8
mov rdx, r8
mov r8d, 1
call fcn.1400f76c0
cmp qword [rsp + 0x20], 0
je 0x1401016e3
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x14010177f
mov rdi, qword [rsp + 0x28]
mov rcx, rbx
cmp word [rbx], 0
je 0x14010170c
movups xmm0, xmmword [rcx + 4]
mov eax, dword [rcx + 0x14]
mov edx, dword [rcx + 0x18]
movzx ecx, word [rcx + 0x1c]
mov r8d, 0x1c
mov r9w, 0x17
jmp 0x140101721
mov eax, dword [rcx + 2]
movzx ecx, word [rcx + 6]
mov r8d, reloc.WS2_32.dll_recv
mov r9w, 2
xorps xmm0, xmm0
rol cx, 8
mov word [rsp + 0x20], r9w
mov word [rsp + 0x22], cx
mov dword [rsp + 0x24], eax
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x38], edx
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x14010175d
mov qword [rsi + 8], rdi
mov qword [rsi], 0
jmp 0x14010177f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
mov rax, rsi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
mov rdi, r8
call fcn.140122940
mov r8, rdi
jmp 0x1401016b0

Function at 0x140101b30
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rsi
sub rsp, 0xb0
mov rax, rdx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x2c], 0x80
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
mov rcx, rax
call qword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x140101be0
mov eax, dword [rsp + 0x2c]
movzx ecx, word [rsp + 0x30]
cmp ecx, 2
je 0x140101bf0
cmp ecx, 0x17
jne 0x140101c17
cmp eax, 0x1b
jbe 0x140101c30
movzx eax, word [rsp + 0x32]
rol ax, 8
movups xmm0, xmmword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x48]
mov word [rsi], 1
movups xmmword [rsi + 4], xmm0
mov dword [rsi + 0x14], ecx
mov dword [rsi + 0x18], edx
mov word [rsi + 0x1c], ax
add rsp, 0xb0
pop rsi
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
jmp 0x140101c1e
cmp eax, 0xf
jbe 0x140101c48
movzx eax, word [rsp + 0x32]
rol ax, 8
mov ecx, dword [rsp + 0x34]
mov word [rsi], 0
mov word [rsi + 6], ax
mov dword [rsi + 2], ecx
add rsp, 0xb0
pop rsi
ret
lea rax, str.invalid_argument
mov qword [rsi + 8], rax
mov word [rsi], 2
add rsp, 0xb0
pop rsi
ret
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
lea r8, [0x1401c57c8]
mov edx, 0x43
call fcn.140123810
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
lea r8, [0x1401c5768]
mov edx, 0x42
call fcn.140123810
int3
Function at 0x140112350
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
test r8, r8
je 0x1401123ca
mov rax, rdx
mov rdx, qword [rsp + 0x70]
mov esi, ecx
shr esi, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov rbx, rax
movzx edi, byte [rax + 1]
add rax, 2
lea r10, [r11 + rdi]
cmp byte [rbx], sil
jne 0x1401123c0
cmp r11, r10
ja 0x140112455
cmp r10, rdx
ja 0x140112467
add r11, r9
xor ebx, ebx
nop dword [rax]
cmp rdi, rbx
je 0x1401123c2
lea r14, [rbx + 1]
cmp byte [r11 + rbx], cl
mov rbx, r14
jne 0x1401123a0
jmp 0x140112437
ja 0x1401123ca
mov r11, r10
cmp rax, r8
jne 0x140112372
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14011243b
mov r8, qword [rsp + 0x78]
add rdx, r8
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r10, [r8 + 1]
movzx r9d, byte [r8]
test r9b, r9b
js 0x140112410
mov r8, r10
sub ecx, r9d
jns 0x14011242e
jmp 0x14011243d
cmp r10, rdx
je 0x140112449
movzx r10d, byte [r8 + 1]
add r8, 2
and r9d, 0x7f
shl r9d, 8
or r9d, r10d
sub ecx, r9d
js 0x14011243d
xor al, 1
cmp r8, rdx
jne 0x1401123f0
jmp 0x14011243d
xor eax, eax
jmp 0x14011243d
mov al, 1
and al, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rcx, str.librarycore_srcunicodeprintable.rs
call fcn.140123700
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call fcn.140123c40
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call fcn.140123c30
int3

Function at 0x140113ef0
Capabilities:
Encode data using xor

Disassembly:
xor r9b, r9b
xor r10d, r10d
mov r11, rcx
test r8, r8
je 0x140113fa6
sub rdx, rcx
cmp r8, 0x20
jb 0x140113f8c
mov rcx, r8
lea rax, [r11 + 0x10]
and rcx, 0xffffffffffffffe0
xorps xmm3, xmm3
xorps xmm2, xmm2
movdqu xmm0, xmmword [rax - 0x10]
add r10, 0x20
movdqu xmm1, xmmword [rdx + rax - 0x10]
lea rax, [rax + 0x20]
xorps xmm1, xmm0
orps xmm3, xmm1
movdqu xmm1, xmmword [rdx + rax - 0x20]
movdqu xmm0, xmmword [rax - 0x20]
xorps xmm1, xmm0
orps xmm2, xmm1
cmp r10, rcx
jb 0x140113f20
orps xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
orps xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
orps xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 2
orps xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 1
orps xmm2, xmm0
movd r9d, xmm2
cmp r10, r8
jae 0x140113fa6
lea rax, [r10 + r11]
sub r8, r10
movzx ecx, byte [rdx + rax]
xor cl, byte [rax]
lea rax, [rax + 1]
or r9b, cl
sub r8, 1
jne 0x140113f93
movzx eax, r9b
ret
Function at 0x1401173f0
Capabilities:
Encrypt data using curve25519

Disassembly:
movzx eax, byte [rcx + 0x1f]
and byte [rcx], 0xf8
and al, 0x3f
or al, 0x40
mov byte [rcx + 0x1f], al
ret
Function at 0x14011b4d0
Capabilities:
Encode data using xor

Disassembly:
mov r9, rdx
mov r10, rcx
mov rax, 0xffffffffffffffff
test r8, r8
je 0x14011b519
sub r10, rdx
nop word [rax + rax]
mov rcx, qword [r10 + r9]
xor rcx, qword [r9]
lea r9, [r9 + 8]
lea rdx, [rcx - 1]
not rcx
shr rdx, 0x3f
shr rcx, 0x3f
and rdx, rcx
neg rdx
and rax, rdx
sub r8, 1
jne 0x14011b4f0
ret

Function at 0x14011bd60
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rdi
sub rsp, 0x88
mov rax, qword [0x1401eb180]
xor rax, rsp
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [r8]
mov rdi, rcx
lea rcx, [rsp + 0x20]
movups xmm1, xmmword [r8 + 0x10]
mov rbx, rdx
movaps xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [r8 + 0x20]
movaps xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [r8 + 0x30]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
call fcn.14011c870
xor r11d, r11d
test rbx, rbx
je 0x14011bf06
mov qword [rsp + 0xa8], rbp
movabs rbp, 0xff000000ff00
mov qword [rsp + 0xb8], rsi
mov esi, 0xffff0000
mov qword [rsp + 0x80], r12
movabs r12, 0xffffffff00000000
mov qword [rsp + 0x78], r14
movabs r14, 0xf000f000f000f0
mov qword [rsp + 0x70], r15
lea r15, [rsp + 0x20]
nop word [rax + rax]
mov r10, qword [rsp + r11*8 + 0x40]
lea rdi, [rdi + 0x10]
mov r8, qword [r15 + r11*8]
mov rdx, r10
shl rdx, 0x20
and r10, r12
mov eax, r8d
inc r11
or rdx, rax
shr r8, 0x20
or r10, r8
mov rcx, rdx
shr rcx, 0x10
xor rcx, rdx
and rcx, rsi
mov rax, rcx
shl rax, 0x10
xor rax, rcx
xor rdx, rax
mov rcx, rdx
shr rcx, 8
xor rcx, rdx
and rcx, rbp
mov rax, rcx
shl rax, 8
xor rax, rcx
mov rcx, r10
xor rdx, rax
shr rcx, 0x10
xor rcx, r10
mov rax, rdx
shr rax, 4
and rcx, rsi
xor rax, rdx
and rax, r14
mov r9, rax
shl r9, 4
xor r9, rax
mov rax, rcx
shl rax, 0x10
xor r9, rdx
xor rax, rcx
mov qword [rdi - 0x10], r9
xor r10, rax
mov rcx, r10
shr rcx, 8
xor rcx, r10
and rcx, rbp
mov rax, rcx
shl rax, 8
xor rax, rcx
xor r10, rax
mov rcx, r10
shr rcx, 4
xor rcx, r10
and rcx, r14
mov rax, rcx
shl rax, 4
xor rax, rcx
xor rax, r10
mov qword [rdi - 8], rax
cmp r11, rbx
jb 0x14011be10
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14011fa10
add rsp, 0x88
pop rdi
pop rbx
ret
Function at 0x14011c1a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rdi, rcx
mov dword [rcx + 0xf0], send
lea rcx, [rbp - 0x50]
mov rbx, rdx
call fcn.14011b9c0
movups xmm1, xmmword [rbp - 0x50]
lea rdx, [rbx + 0x10]
lea rcx, [rbp - 0x60]
movups xmmword [rdi], xmm1
call fcn.14011b9c0
movdqu xmm3, xmmword [rbp - 0x60]
mov ebx, 2
lea r15, [0x140160880]
movabs r14, 0xf000000000000
movups xmmword [rdi + 0x10], xmm3
add rdi, 0x20
xor esi, esi
xorps xmm0, xmm0
mov qword [rbp - 0x38], rsi
movdqu xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x40]
movdqa xmm0, xmm3
mov qword [rbp - 0x18], rsi
psrldq xmm0, 8
xorps xmm1, xmm1
movq qword [rbp - 0x20], xmm0
movdqu xmmword [rbp - 0x10], xmm1
movq qword [rbp - 0x40], xmm3
call fcn.14011c870
lea rcx, [rbp - 0x40]
call fcn.14011c3a0
lea rcx, [rbp - 0x40]
call fcn.14011c870
mov rax, qword [rbp - 0x40]
mov rcx, rbx
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x20]
shr rcx, 1
mov qword [rbp - 0x58], rax
mov rax, rsi
movzx r9d, byte [rcx + r15 - 1]
nop word [rax + rax]
mov rcx, qword [rbp + rax*8 - 0x60]
mov rdx, r9
mov r8, rcx
and rcx, r14
shr r8, 0x10
or r8, rcx
movzx ecx, al
shl cl, 2
shr rdx, cl
shr r8, 0x24
and edx, 0xf
xor r8, rdx
xor r8, qword [rbp + rax*8 - 0x50]
mov rcx, r8
shl rcx, 0x10
xor rcx, r8
shl rcx, 0x10
xor rcx, r8
shl rcx, 0x10
xor rcx, r8
mov qword [rbp + rax*8 - 0x50], rcx
inc rax
cmp rax, 2
jb 0x14011c280
movups xmm2, xmmword [rbp - 0x50]
movups xmmword [rdi], xmm2
cmp rbx, 0xe
je 0x14011c379
movq qword [rbp - 0x40], xmm2
lea rcx, [rbp - 0x40]
psrldq xmm2, 8
xorps xmm0, xmm0
xorps xmm1, xmm1
movq qword [rbp - 0x20], xmm2
mov qword [rbp - 0x38], rsi
movdqu xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x18], rsi
movdqu xmmword [rbp - 0x10], xmm1
call fcn.14011c870
lea rcx, [rbp - 0x40]
call fcn.14011c3a0
lea rcx, [rbp - 0x40]
call fcn.14011c870
mov rax, qword [rbp - 0x40]
add rbx, 2
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x58], rax
movdqu xmm1, xmmword [rbp - 0x60]
psrlq xmm1, 0x30
xorps xmm1, xmm3
movdqa xmm3, xmm1
movdqa xmm0, xmm1
psllq xmm3, 0x10
xorps xmm3, xmm1
psllq xmm0, 0x20
xorps xmm3, xmm0
psllq xmm1, 0x30
xorps xmm3, xmm1
movups xmmword [rdi + 0x10], xmm3
add rdi, 0x20
cmp rbx, 0xe
jbe 0x14011c210
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x14011c700
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x20
xorps xmm0, xmm0
xor esi, esi
mov rbx, r8
mov rdi, rdx
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
test r8, r8
je 0x14011c857
mov qword [rsp + 0x40], rbp
movabs rbp, 0xf000f000f000f0
mov qword [rsp + 0x48], r12
movabs r12, 0xffffffff00000000
mov qword [rsp + 0x50], r14
movabs r14, 0xff000000ff00
mov qword [rsp + 0x58], r15
mov r15d, 0xffff0000
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rdi]
mov r10, qword [rdi + 8]
lea rdi, [rdi + 0x10]
mov rax, rdx
shr rax, 4
xor rax, rdx
and rax, rbp
mov r8, rax
shl r8, 4
xor r8, rax
xor r8, rdx
mov rdx, r8
shr rdx, 8
xor rdx, r8
and rdx, r14
mov rax, rdx
shl rax, 8
xor rax, rdx
xor r8, rax
mov rax, r8
shr rax, 0x10
xor rax, r8
and rax, r15
mov r11, rax
shl r11, 0x10
xor r11, rax
mov rax, r10
shr rax, 4
xor r11, r8
xor rax, r10
and rax, rbp
mov r9, rax
shl r9, 4
xor r9, rax
xor r9, r10
mov rdx, r9
shr rdx, 8
xor rdx, r9
and rdx, r14
mov rax, rdx
shl rax, 8
xor rax, rdx
xor r9, rax
mov rax, r9
shr rax, 0x10
xor rax, r9
and rax, r15
mov r8, rax
shl r8, 0x10
xor r8, rax
mov eax, r11d
xor r8, r9
shr r11, 0x20
mov rdx, r8
and r8, r12
shl rdx, 0x20
or r11, r8
or rdx, rax
mov qword [rcx + rsi*8 + 0x20], r11
mov qword [rcx + rsi*8], rdx
inc rsi
cmp rsi, rbx
jb 0x14011c770
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
pop rsi
pop rbx
jmp fcn.14011c870
Function at 0x14011c9b0
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x14011cb91
mov r11, rsp
push rbp
push rdi
push r12
push r14
push r15
sub rsp, 0x4c0
mov rax, qword [0x1401eb180]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
mov rbp, qword [rsp + 0x510]
mov rdi, r9
mov qword [r11 + 0x18], rbx
mov r15, r8
mov qword [r11 - 0x30], rsi
lea rbx, [rsp + 0x68]
mov qword [r11 - 0x38], r13
mov r12, rdx
lea r13, [r9 + 0xf0]
mov r14, rcx
xor esi, esi
nop dword [rax + rax]
mov rdx, qword [rdi]
lea rcx, [rbx - 8]
movq xmm0, qword [rdi + 8]
mov qword [rcx], rdx
unpcklpd xmm0, xmm0
movups xmmword [rbx + 0x18], xmm0
mov qword [rbx], rdx
mov qword [rbx + 8], rdx
movups xmmword [rbx + 0x28], xmm0
mov qword [rbx + 0x10], rdx
call fcn.14011c870
mov eax, dword [r13]
lea rdi, [rdi + 0x10]
inc rsi
lea rbx, [rbx + 0x40]
cmp rsi, rax
jbe 0x14011ca10
mov r8d, 4
lea rax, [rsp + 0x420]
mov ecx, r8d
lea rax, [rax + 0x10]
movups xmm0, xmmword [rbp]
movups xmmword [rax - 0x10], xmm0
sub rcx, 1
jne 0x14011ca60
mov edi, dword [rsp + 0x42c]
lea rbx, [rsp + 0x460]
bswap edi
sub rbx, r14
nop word [rax + rax]
xor ecx, ecx
lea rdx, [rsp + 0x42c]
nop word [rax + rax]
lea eax, [rcx + rdi]
inc rcx
lea rdx, [rdx + 0x10]
bswap eax
mov dword [rdx - 0x10], eax
cmp rcx, 4
jb 0x14011caa0
cmp r15, 4
lea rdx, [rsp + 0x420]
mov rsi, r15
lea rcx, [rsp + 0x20]
cmovae rsi, r8
mov r8, rsi
call fcn.14011c700
mov edx, dword [r13]
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.14011bac0
lea r8, [rsp + 0x20]
mov rdx, rsi
lea rcx, [rsp + 0x460]
call fcn.14011bd60
test rsi, rsi
je 0x14011cb3b
mov r8, r12
mov rax, r14
sub r8, r14
mov r9, rsi
nop
mov edx, 2
nop word [rax + rax]
mov rcx, qword [rbx + rax]
xor rcx, qword [rax]
mov qword [r8 + rax], rcx
add rax, 8
sub rdx, 1
jne 0x14011cb20
sub r9, 1
jne 0x14011cb10
sub r15, rsi
je 0x14011cb5a
add r14, 0x40
sub rbx, 0x40
add r12, 0x40
mov r8d, 4
add edi, 4
jmp 0x14011ca90
mov rsi, qword [rsp + 0x4b8]
mov rbx, qword [rsp + 0x500]
mov r13, qword [rsp + 0x4b0]
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.14011fa10
add rsp, 0x4c0
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
Function at 0x14011cc80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rdi, r8
cmp edx, 0x80
je 0x14011ccd4
cmp edx, 0x100
je 0x14011ccb6
mov eax, 1
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
mov rdx, rcx
mov rcx, rdi
call fcn.14011c1a0
xor eax, eax
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
mov qword [rsp + 0x90], rbp
mov rdx, rcx
mov qword [rsp + 0x98], rsi
lea rcx, [rsp + 0x20]
mov qword [rsp + 0xa0], r14
mov dword [r8 + 0xf0], 0xa
call fcn.14011b9c0
movups xmm2, xmmword [rsp + 0x20]
mov ebx, 1
lea r14, [0x140160880]
movabs rbp, 0xf000000000000
movups xmmword [rdi], xmm2
add rdi, 0x10
xor esi, esi
nop dword [rax + rax]
movq qword [rsp + 0x40], xmm2
lea rcx, [rsp + 0x40]
psrldq xmm2, 8
xorps xmm0, xmm0
xorps xmm1, xmm1
movq qword [rsp + 0x60], xmm2
mov qword [rsp + 0x48], rsi
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x68], rsi
movdqa xmmword [rsp + 0x70], xmm1
call fcn.14011c870
lea rcx, [rsp + 0x40]
call fcn.14011c3a0
lea rcx, [rsp + 0x40]
call fcn.14011c870
mov rax, qword [rsp + 0x40]
movzx r9d, byte [rbx + r14 - 1]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov rax, rsi
nop dword [rax + rax]
mov rdx, qword [rsp + rax*8 + 0x30]
movzx ecx, al
shl cl, 2
mov r8, r9
shr r8, cl
mov rcx, rdx
shr rcx, 0x10
and r8d, 0xf
and rdx, rbp
or rcx, rdx
shr rcx, 0x24
xor r8, rcx
xor r8, qword [rsp + rax*8 + 0x20]
mov rcx, r8
shl rcx, 0x10
xor rcx, r8
shl rcx, 0x10
xor rcx, r8
shl rcx, 0x10
xor rcx, r8
mov qword [rsp + rax*8 + 0x20], rcx
inc rax
cmp rax, 2
jb 0x14011cda0
movups xmm2, xmmword [rsp + 0x20]
inc rbx
movups xmmword [rdi], xmm2
add rdi, 0x10
cmp rbx, 0xa
jbe 0x14011cd30
mov r14, qword [rsp + 0xa0]
xor eax, eax
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret

Function at 0x14011e7f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
xor eax, eax
mov r11, rcx
mov r10d, 1
movabs rdi, 0x8000000000000000
lea ebx, [rax + 0x20]
nop dword [rax]
nop word [rax + rax]
shr rax, 1
mov r9, r10
and r9d, 1
neg r9
mov rdx, r9
and r9, rdi
add r9, rax
and rdx, r11
mov r8, rdx
shr r9, 1
xor r8, r10
and rdx, r10
shr r8, 1
add r8, rdx
mov rax, r8
and eax, 1
neg rax
mov rcx, rax
and rax, rdi
and rcx, r11
add rax, r9
mov r10, rcx
and rcx, r8
xor r10, r8
shr r10, 1
add r10, rcx
sub rbx, 1
jne 0x14011e820
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
ret
Function at 0x14011fee4
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14011ff2e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14011ff2e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14011ff2e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14011ff2e
cmp dword [rcx + 0x84], 0xe
jbe 0x14011ff2e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x14011ff30
xor al, al
add rsp, 0x28
ret

Function at 0x1401229b0
Capabilities:
Resolve dns

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
mov r14, r9
mov rsi, rcx
lea rcx, [rsp + 0x30]
call fcn.1401099c0
mov rdx, qword [rsp + 0x30]
movabs rax, 0x8000000000000000
cmp rdx, rax
jne 0x140122a4a
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x58], 1
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x28]
mov rcx, rdi
xor edx, edx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x140122a7d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov byte [rdi], 0
test rbx, rbx
jne 0x140122aa1
jmp 0x140122ab2
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
test rdx, rdx
je 0x140122ab2
mov rcx, qword [rsp + 0x38]
mov r8d, 1
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
jmp fcn.140003330
mov rax, qword [r14]
mov rcx, qword [rsp + 0x28]
movzx eax, word [rax]
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rcx
mov word [rsi + 0x18], ax
xor eax, eax
mov qword [rsi], rax
mov byte [rdi], 0
test rbx, rbx
je 0x140122ab2
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140003330
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x1407fd058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x1407fd1df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x1407fd089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1407fd06f
add dl, dl
jne 0x1407fd096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1407fd0f6
xor eax, eax
add dl, dl
jne 0x1407fd0a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1407fd1ad
add dl, dl
jne 0x1407fd0b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407fd0c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407fd0d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407fd0dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1407fd0ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x1407fd07e
mov eax, 1
add dl, dl
jne 0x1407fd106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407fd113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1407fd0fb
sub eax, ebx
mov ebx, 1
jne 0x1407fd14c
mov ecx, 1
add dl, dl
jne 0x1407fd12e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1407fd13b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1407fd123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1407fd07e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1407fd168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1407fd175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1407fd15d
cmp eax, 0x7d00
jae 0x1407fd19b
cmp eax, 0x500
jb 0x1407fd196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1407fd07e
cmp eax, 0x7f
ja 0x1407fd19e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1407fd07e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1407fd1d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x1407fd07e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0xd46058
Capabilities:
Decompress data using aplib

Disassembly:
call 0xd461df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, pe_nt_image_headers64
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0xd46089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0xd4606f
add dl, dl
jne 0xd46096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0xd460f6
xor eax, eax
add dl, dl
jne 0xd460a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0xd461ad
add dl, dl
jne 0xd460b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xd460c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xd460d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xd460dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0xd460ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0xd4607e
mov eax, 1
add dl, dl
jne 0xd46106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xd46113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0xd460fb
sub eax, ebx
mov ebx, 1
jne 0xd4614c
mov ecx, 1
add dl, dl
jne 0xd4612e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0xd4613b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0xd46123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0xd4607e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0xd46168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0xd46175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0xd4615d
cmp eax, 0x7d00
jae 0xd4619b
cmp eax, 0x500
jb 0xd46196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0xd4607e
cmp eax, 0x7f
ja 0xd4619e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0xd4607e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0xd461d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0xd4607e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20