joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18034e970
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x60
call fcn.18040d2f0
sub rsp, rax
mov rax, qword [0x18056d580]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r14, qword [rsp + 0xd0]
mov rdi, rcx
mov rax, qword [rsp + 0xc0]
mov r13, r9
mov rcx, qword [rsp + 0xc8]
mov esi, r8d
mov r12, qword [rsp + 0xd8]
mov r15, rdx
movzx r9d, byte [r14]
xor ebp, ebp
movzx edx, byte [r14 + 3]
movzx r8d, byte [r14 + 4]
mov ebx, dword [r12]
mov qword [rsp + 0x28], rax
movzx eax, byte [r14 + 1]
shl eax, 8
or r9d, eax
mov qword [rsp + 0x30], rcx
movzx eax, byte [r14 + 2]
movzx ecx, byte [r14 + 7]
shl eax, 0x10
or r9d, eax
shl edx, 0x18
movzx eax, byte [r14 + 5]
or r9d, edx
shl eax, 8
or r8d, eax
shl ecx, 8
movzx eax, byte [r14 + 6]
or ecx, eax
mov qword [rsp + 0x38], r14
shl ecx, 0x10
mov eax, r9d
shr eax, 8
or r8d, ecx
mov byte [rsp + 0x49], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x4a], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x4d], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x4e], al
mov eax, r8d
shr eax, 0x18
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x24], r8d
mov byte [rsp + 0x48], r9b
mov byte [rsp + 0x4c], r8b
mov byte [rsp + 0x4f], al
bswap edx
mov byte [rsp + 0x4b], dl
test esi, esi
je 0x18034eb66
mov r12, qword [rsp + 0x28]
sub r15, rdi
mov r14, qword [rsp + 0x30]
nop dword [rax]
dec esi
test ebx, ebx
jne 0x18034eafb
mov r9, r14
lea rcx, [rsp + 0x20]
mov r8, r12
mov rdx, r13
call fcn.18034c400
mov r9d, dword [rsp + 0x20]
mov eax, r9d
mov r8d, dword [rsp + 0x24]
shr eax, 8
mov byte [rsp + 0x49], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x4a], al
mov eax, r9d
shr eax, 0x18
mov byte [rsp + 0x4b], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x4d], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x4e], al
mov eax, r8d
shr eax, 0x18
mov byte [rsp + 0x4f], al
inc ebp
mov byte [rsp + 0x48], r9b
mov byte [rsp + 0x4c], r8b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x48]
xor cl, byte [rdi]
mov byte [r15 + rdi], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x18034ea90
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
test ebp, ebp
je 0x18034eb66
mov eax, r9d
mov byte [r14], r9b
shr eax, 8
mov byte [r14 + 1], al
mov eax, r9d
shr eax, 0x10
mov byte [r14 + 2], al
mov eax, r8d
shr eax, 8
mov byte [r14 + 5], al
mov eax, r8d
shr eax, 0x10
shr r9d, 0x18
mov byte [r14 + 4], r8b
shr r8d, 0x18
mov byte [r14 + 7], r8b
mov byte [r14 + 3], r9b
mov byte [r14 + 6], al
mov dword [r12], ebx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.18040c600
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180350520
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.18040d2f0
sub rsp, rax
mov rax, qword [0x18056d580]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r12, qword [rsp + 0xa8]
xor ebp, ebp
mov r14, qword [rsp + 0xa0]
mov r13, r9
mov esi, r8d
mov r15, rdx
mov rdi, rcx
mov ebx, dword [r12]
test ebx, ebx
jns 0x18035057f
mov dword [r12], 0xffffffff
jmp 0x1803506ff
movzx r8d, byte [r14]
movzx r9d, byte [r14 + 1]
movzx eax, byte [r14 + 2]
movzx ecx, byte [r14 + 6]
movzx edx, byte [r14 + 4]
movzx r10d, byte [r14 + 5]
shl eax, 8
shl r9d, 0x10
shl r8d, 0x18
or r9d, r8d
shl edx, 0x18
or r9d, eax
shl r10d, 0x10
movzx eax, byte [r14 + 3]
or r10d, edx
or r9d, eax
shl ecx, 8
movzx eax, byte [r14 + 7]
or ecx, eax
mov dword [rsp + 0x20], r9d
or r10d, ecx
mov byte [rsp + 0x2b], r9b
mov eax, r9d
mov dword [rsp + 0x24], r10d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r10d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r10d
shr eax, 8
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], r10b
bswap r8d
mov byte [rsp + 0x28], r8b
bswap edx
mov byte [rsp + 0x2c], dl
test esi, esi
je 0x1803506fb
sub r15, rdi
movzx r8d, r10b
movzx edx, r9b
nop dword [rax]
dec esi
test ebx, ebx
jne 0x18035069a
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.18034fae0
mov r9d, dword [rsp + 0x20]
mov eax, r9d
mov r10d, dword [rsp + 0x24]
mov edx, r9d
shr eax, 0x18
mov r8d, r10d
mov byte [rsp + 0x28], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r10d
shr eax, 0x18
mov byte [rsp + 0x2c], al
mov eax, r10d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r10d
shr eax, 8
mov byte [rsp + 0x2e], al
inc ebp
mov byte [rsp + 0x2b], dl
mov byte [rsp + 0x2f], r8b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x28]
xor cl, byte [rdi]
mov byte [r15 + rdi], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x180350630
test ebp, ebp
je 0x1803506fb
mov eax, r9d
mov byte [r14 + 3], dl
shr eax, 0x18
mov byte [r14], al
mov eax, r9d
shr eax, 0x10
mov byte [r14 + 1], al
mov eax, r10d
shr eax, 0x18
mov byte [r14 + 4], al
mov eax, r10d
shr eax, 0x10
shr r9d, 8
shr r10d, 8
mov byte [r14 + 6], r10b
mov byte [r14 + 2], r9b
mov byte [r14 + 5], al
mov byte [r14 + 7], r8b
mov dword [r12], ebx
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18040c600
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180352c60
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.18040d2f0
sub rsp, rax
mov rax, qword [0x18056d580]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r14, qword [rsp + 0xa0]
mov esi, r8d
mov r12, qword [rsp + 0xa8]
mov r13, r9
mov rdi, rcx
mov r15, rdx
xor ebp, ebp
movzx r10d, byte [r14]
movzx r8d, byte [r14 + 1]
movzx eax, byte [r14 + 2]
movzx ecx, byte [r14 + 6]
movzx edx, byte [r14 + 4]
movzx r9d, byte [r14 + 5]
mov ebx, dword [r12]
shl eax, 8
shl r8d, 0x10
shl r10d, 0x18
or r8d, r10d
shl edx, 0x18
or r8d, eax
shl r9d, 0x10
movzx eax, byte [r14 + 3]
or r9d, edx
or r8d, eax
shl ecx, 8
movzx eax, byte [r14 + 7]
or ecx, eax
mov dword [rsp + 0x20], r8d
or r9d, ecx
mov byte [rsp + 0x2b], r8b
mov eax, r8d
mov dword [rsp + 0x24], r9d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], r9b
bswap r10d
mov byte [rsp + 0x28], r10b
bswap edx
mov byte [rsp + 0x2c], dl
test esi, esi
je 0x180352e23
sub r15, rdi
movzx r10d, r9b
movzx edx, r8b
dec esi
test ebx, ebx
jne 0x180352dc2
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.1803525a0
mov r8d, dword [rsp + 0x20]
mov eax, r8d
mov r9d, dword [rsp + 0x24]
mov edx, r8d
shr eax, 0x18
mov r10d, r9d
mov byte [rsp + 0x28], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r9d
shr eax, 0x18
mov byte [rsp + 0x2c], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2e], al
inc ebp
mov byte [rsp + 0x2b], dl
mov byte [rsp + 0x2f], r10b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x28]
xor cl, byte [rdi]
mov byte [r15 + rdi], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x180352d58
test ebp, ebp
je 0x180352e23
mov eax, r8d
mov byte [r14 + 3], dl
shr eax, 0x18
mov byte [r14], al
mov eax, r8d
shr eax, 0x10
mov byte [r14 + 1], al
mov eax, r9d
shr eax, 0x18
mov byte [r14 + 4], al
mov eax, r9d
shr eax, 0x10
shr r8d, 8
shr r9d, 8
mov byte [r14 + 6], r9b
mov byte [r14 + 2], r8b
mov byte [r14 + 5], al
mov byte [r14 + 7], r10b
mov dword [r12], ebx
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18040c600
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180355710
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.18040d2f0
sub rsp, rax
mov rax, qword [0x18056d580]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r14, qword [rsp + 0xa0]
mov esi, r8d
mov r12, qword [rsp + 0xa8]
mov r13, r9
mov rdi, rcx
mov r15, rdx
xor ebp, ebp
movzx r10d, byte [r14]
movzx r8d, byte [r14 + 1]
movzx eax, byte [r14 + 2]
movzx ecx, byte [r14 + 6]
movzx edx, byte [r14 + 4]
movzx r9d, byte [r14 + 5]
mov ebx, dword [r12]
shl eax, 8
shl r8d, 0x10
shl r10d, 0x18
or r8d, r10d
shl edx, 0x18
or r8d, eax
shl r9d, 0x10
movzx eax, byte [r14 + 3]
or r9d, edx
or r8d, eax
shl ecx, 8
movzx eax, byte [r14 + 7]
or ecx, eax
mov dword [rsp + 0x20], r8d
or r9d, ecx
mov byte [rsp + 0x2b], r8b
mov eax, r8d
mov dword [rsp + 0x24], r9d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], r9b
bswap r10d
mov byte [rsp + 0x28], r10b
bswap edx
mov byte [rsp + 0x2c], dl
test esi, esi
je 0x1803558d3
sub r15, rdi
movzx r10d, r9b
movzx edx, r8b
dec esi
test ebx, ebx
jne 0x180355872
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.180355020
mov r8d, dword [rsp + 0x20]
mov eax, r8d
mov r9d, dword [rsp + 0x24]
mov edx, r8d
shr eax, 0x18
mov r10d, r9d
mov byte [rsp + 0x28], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x29], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x2a], al
mov eax, r9d
shr eax, 0x18
mov byte [rsp + 0x2c], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x2d], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x2e], al
inc ebp
mov byte [rsp + 0x2b], dl
mov byte [rsp + 0x2f], r10b
movsxd rax, ebx
movzx ecx, byte [rsp + rax + 0x28]
xor cl, byte [rdi]
mov byte [r15 + rdi], cl
inc rdi
inc ebx
and ebx, 7
test esi, esi
jne 0x180355808
test ebp, ebp
je 0x1803558d3
mov eax, r8d
mov byte [r14 + 3], dl
shr eax, 0x18
mov byte [r14], al
mov eax, r8d
shr eax, 0x10
mov byte [r14 + 1], al
mov eax, r9d
shr eax, 0x18
mov byte [r14 + 4], al
mov eax, r9d
shr eax, 0x10
shr r8d, 8
shr r9d, 8
mov byte [r14 + 6], r9b
mov byte [r14 + 2], r8b
mov byte [r14 + 5], al
mov byte [r14 + 7], r10b
mov dword [r12], ebx
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18040c600
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180355d90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rsi
push rdi
push r12
push r15
mov eax, Ordinal_50
call fcn.18040d2f0
sub rsp, rax
mov rsi, qword [rsp + 0x88]
mov r10, r9
mov rdi, r8
mov r15, rdx
mov r12, rcx
mov ebx, dword [rsi]
test ebx, ebx
jns 0x180355dd5
mov dword [rsi], 0xffffffff
add rsp, 0x30
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x60], rbp
mov rbp, qword [rsp + 0x80]
test ebx, ebx
je 0x180355e08
test rdi, rdi
je 0x180355e08
mov eax, ebx
dec rdi
movzx ecx, byte [rax + rbp]
xor cl, byte [r12]
inc r12
mov byte [r15], cl
inc r15
inc ebx
and ebx, 0xf
jne 0x180355de6
mov r9, qword [rsp + 0x90]
cmp rdi, 0x10
jb 0x180355ed9
mov qword [rsp + 0x28], r13
mov rsi, r15
mov r13, rdi
mov qword [rsp + 0x20], r14
shr r13, 4
mov r14, r12
imul rax, r13, 0xfffffffffffffff0
sub rsi, rbp
sub r14, rbp
add rdi, rax
mov rax, r13
shl rax, 4
add r15, rax
mov qword [rsp + 0x68], r15
add r12, rax
mov r15, qword [rsp + 0x78]
nop word [rax + rax]
mov r8, r15
mov rdx, rbp
mov rcx, rbp
call r9
cmp ebx, 0x10
jae 0x180355ea5
mov edx, reloc.WS2_32.dll_ntohs
mov eax, ebx
sub edx, ebx
add rax, rbp
shr edx, 3
inc edx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r14 + rax]
xor rcx, qword [rax]
mov qword [rsi + rax], rcx
lea rax, [rax + 8]
sub rdx, 1
jne 0x180355e90
mov r9, qword [rsp + 0x90]
add rsi, 0x10
add r14, 0x10
xor ebx, ebx
sub r13, 1
jne 0x180355e60
mov r14, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov r15, qword [rsp + 0x68]
mov r10, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
test rdi, rdi
je 0x180355f06
mov r8, r10
mov rdx, rbp
mov rcx, rbp
call r9
nop word [rax + rax]
mov ecx, ebx
inc ebx
movzx eax, byte [rcx + r12]
xor al, byte [rcx + rbp]
mov byte [rcx + r15], al
sub rdi, 1
jne 0x180355ef0
mov dword [rsi], ebx
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret
Function at 0x180356960
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push r14
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.18040d2f0
sub rsp, rax
cmp qword [rcx + 0x38], 0
mov rbx, r8
mov r14, rdx
mov rbp, rcx
je 0x180356990
mov eax, 0xfffffffe
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
mov rcx, qword [rcx + 0x30]
movabs rax, 0x2000000000000000
add rcx, rbx
cmp rcx, rax
ja 0x180356a82
cmp rcx, rbx
jb 0x180356a82
mov qword [rsp + 0x40], rsi
mov esi, dword [rbp + 0x17c]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r12
mov qword [rbp + 0x30], rcx
test esi, esi
je 0x180356a06
test rbx, rbx
je 0x180356a62
movzx eax, byte [r14]
dec rbx
mov ecx, esi
inc r14
xor byte [rcx + rbp + 0x40], al
inc esi
and esi, 0xf
jne 0x1803569d0
lea r12, [rbp + 0x60]
lea rdi, [rbp + 0x40]
mov rdx, r12
mov rcx, rdi
call qword [rbp + 0x170]
jmp 0x180356a0e
lea r12, [rbp + 0x60]
lea rdi, [rbp + 0x40]
mov qword [rsp + 0x58], r15
mov r15, rbx
and r15, 0xfffffffffffffff0
je 0x180356a34
mov r9, r15
mov r8, r14
mov rdx, r12
mov rcx, rdi
call qword [rbp + 0x168]
add r14, r15
sub rbx, r15
mov r15, qword [rsp + 0x58]
test rbx, rbx
je 0x180356a62
mov esi, ebx
sub r14, rbp
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r14 + rdi - 0x40]
xor byte [rdi], al
lea rdi, [rdi + 1]
sub rbx, 1
jne 0x180356a50
mov rdi, qword [rsp + 0x48]
xor eax, eax
mov r12, qword [rsp + 0x50]
mov dword [rbp + 0x17c], esi
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
mov eax, 0xffffffff
add rsp, 0x20
pop r14
pop rbp
pop rbx
ret
Function at 0x1803579f0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r13
push r14
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.18040d2f0
sub rsp, rax
xor r13d, r13d
lea r14, [rcx + 0x40]
mov qword [rcx + 0x30], r13
mov rdi, r8
mov qword [rcx + 0x38], r13
mov rsi, rdx
mov qword [rcx + 0x178], r13
mov rbx, rcx
cmp r8, 0xc
jne 0x180357a48
movsd xmm0, qword [rdx]
lea edi, [r8 - 0xb]
movsd qword [rcx], xmm0
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
mov dword [rcx + 0xc], 0x1000000
jmp 0x180357b71
mov qword [rsp + 0x50], rbp
mov rbp, rdi
mov qword [rsp + 0x60], r15
lea r15, [rcx + 0x60]
mov qword [r14], r13
mov qword [rcx + 0x48], r13
cmp rdi, 0x10
jb 0x180357b0e
mov qword [rsp + 0x58], r12
mov r12, rdi
shr r12, 4
imul rax, r12, 0xfffffffffffffff0
add rdi, rax
nop dword [rax]
movzx eax, byte [rsi]
mov rdx, r15
xor byte [r14], al
mov rcx, r14
movzx eax, byte [rsi + 1]
xor byte [rbx + 0x41], al
movzx eax, byte [rsi + 2]
xor byte [rbx + 0x42], al
movzx eax, byte [rsi + 3]
xor byte [rbx + 0x43], al
movzx eax, byte [rsi + 4]
xor byte [rbx + 0x44], al
movzx eax, byte [rsi + 5]
xor byte [rbx + 0x45], al
movzx eax, byte [rsi + 6]
xor byte [rbx + 0x46], al
movzx eax, byte [rsi + 7]
xor byte [rbx + 0x47], al
movzx eax, byte [rsi + 8]
xor byte [rbx + 0x48], al
movzx eax, byte [rsi + 9]
xor byte [rbx + 0x49], al
movzx eax, byte [rsi + 0xa]
xor byte [rbx + 0x4a], al
movzx eax, byte [rsi + 0xb]
xor byte [rbx + 0x4b], al
movzx eax, byte [rsi + 0xc]
xor byte [rbx + 0x4c], al
movzx eax, byte [rsi + 0xd]
xor byte [rbx + 0x4d], al
movzx eax, byte [rsi + 0xe]
xor byte [rbx + 0x4e], al
movzx eax, byte [rsi + 0xf]
xor byte [rbx + 0x4f], al
call qword [rbx + 0x170]
add rsi, 0x10
sub r12, 1
jne 0x180357a80
mov r12, qword [rsp + 0x58]
test rdi, rdi
je 0x180357b3d
mov rcx, r14
sub rsi, rbx
nop dword [rax]
movzx eax, byte [rsi + rcx - 0x40]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdi, 1
jne 0x180357b20
mov rdx, r15
mov rcx, r14
call qword [rbx + 0x170]
shl rbp, 3
mov rdx, r15
bswap rbp
xor qword [rbx + 0x48], rbp
mov rcx, r14
call qword [rbx + 0x170]
mov rax, qword [r14]
mov edi, dword [rbx + 0x4c]
mov r15, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x50]
mov qword [rbx], rax
mov rax, qword [rbx + 0x48]
mov qword [rbx + 8], rax
bswap edi
mov qword [r14], r13
lea rdx, [rbx + 0x20]
mov qword [rbx + 0x48], r13
mov rcx, rbx
mov r8, qword [rbx + 0x188]
call qword [rbx + 0x180]
inc edi
bswap edi
mov dword [rbx + 0xc], edi
add rsp, 0x20
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret
Function at 0x180358370
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x78
call fcn.18040d2f0
sub rsp, rax
mov rax, qword [0x18056d580]
xor rax, rsp
mov qword [rsp + 0x68], rax
movzx ebx, byte [rcx]
lea r12, [rcx + 0x10]
mov r11, qword [rsp + 0xe0]
mov rbp, r9
mov rax, qword [rcx + 0x28]
mov r15, r8
mov r10, qword [rcx + 0x30]
mov r14, rdx
mov qword [rsp + 0x50], r11
mov rdi, rcx
mov byte [rsp + 0x30], bl
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r10
test bl, 0x40
jne 0x1803583e9
mov r8, r10
mov rdx, r12
call rax
mov r10, qword [rsp + 0x38]
mov r9, rbp
mov r11, qword [rsp + 0x50]
xor esi, esi
mov r8d, ebx
and r8d, 7
mov r13d, reloc.WS2_32.dll_ntohs
sub r13d, r8d
mov byte [rdi], r8b
mov ecx, esi
cmp r13d, 0xf
jae 0x180358427
mov edx, r13d
add rdx, rdi
nop dword [rax]
movzx eax, byte [rdx]
mov byte [rdx], sil
lea rdx, [rdx + 1]
or rcx, rax
shl rcx, 8
sub r8, 1
jne 0x180358410
movzx eax, byte [rdi + 0xf]
or rcx, rax
mov byte [rdi + 0xf], 1
cmp rcx, rbp
je 0x180358441
mov eax, 0xffffffff
jmp 0x18035856a
mov rbx, rbp
shr rbx, 4
test rbx, rbx
je 0x1803584c2
mov qword [rsp + 0x28], r12
mov r9, r10
mov r8, rbx
mov qword [rsp + 0x20], rdi
mov rdx, r15
mov rcx, r14
call r11
shl rbx, 4
add r14, rbx
add r15, rbx
sub rbp, rbx
je 0x18035851c
shr rbx, 4
lea r8, [rdi + 0x10]
mov r9, 0xfffffffffffffff8
mov rdx, rsi
sub r9, rdi
nop
movzx eax, byte [r8 - 1]
lea r8, [r8 - 1]
add rdx, rax
movzx ecx, bl
add rdx, rcx
shr rbx, 8
mov byte [r8], dl
lea rax, [r8 + r9]
shr rdx, 8
test rax, rax
je 0x1803584ca
test rbx, rbx
jne 0x180358490
test rdx, rdx
jne 0x180358490
jmp 0x1803584ca
mov rbp, r9
test r9, r9
je 0x18035851c
mov rbx, qword [rsp + 0x38]
lea rdx, [rsp + 0x58]
mov r8, rbx
mov rcx, rdi
call qword [rsp + 0x40]
test rbp, rbp
je 0x18035850a
mov rcx, rsi
nop word [rax + rax]
movzx eax, byte [rcx + r14]
inc esi
xor al, byte [rsp + rcx + 0x58]
mov byte [rcx + r15], al
xor byte [rcx + rdi + 0x10], al
mov ecx, esi
cmp rcx, rbp
jb 0x1803584f0
mov rsi, qword [rsp + 0x40]
mov r8, rbx
mov rdx, r12
mov rcx, r12
call rsi
jmp 0x180358526
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
cmp r13d, 0x10
jae 0x180358542
mov r8d, reloc.WS2_32.dll_recv
mov ecx, r13d
sub r8d, r13d
add rcx, rdi
xor edx, edx
call fcn.180447bd0
mov r8, rbx
lea rdx, [rsp + 0x58]
mov rcx, rdi
call rsi
mov rax, qword [rsp + 0x58]
xor qword [r12], rax
mov rax, qword [rsp + 0x60]
xor qword [rdi + 0x18], rax
movzx eax, byte [rsp + 0x30]
mov byte [rdi], al
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.18040c600
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x18035a460
Capabilities:
Encode data using xor

Disassembly:
push rbx
xor r10d, r10d
mov rbx, rdx
mov r11, rcx
test r8, r8
je 0x18035a5b5
cmp r8, 8
jb 0x18035a58a
lea rcx, [r9 - 1]
lea rax, [r8 - 1]
add rcx, r8
add rax, rdx
cmp r9, rax
ja 0x18035a49a
cmp rcx, rdx
jae 0x18035a58a
lea rax, [r8 - 1]
add rax, r11
cmp r9, rax
ja 0x18035a4af
cmp rcx, r11
jae 0x18035a58a
mov rcx, r11
mov qword [rsp + 0x18], rdi
sub rcx, rbx
cmp r8, 0x40
jb 0x18035a54d
mov rdi, r8
mov qword [rsp + 0x10], rsi
and edi, 0x3f
mov rsi, r8
sub rsi, rdi
lea rax, [rdx + 0x10]
mov rdx, r9
sub rdx, rbx
nop
movdqu xmm0, xmmword [rax - 0x10]
add r10, 0x40
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm2, xmmword [rcx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmmword [rdx + rax - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rcx + rax - 0x30]
movdqu xmmword [rdx + rax - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rcx + rax - 0x20]
movdqu xmmword [rdx + rax - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [rdx + rax - 0x20], xmm2
cmp r10, rsi
jb 0x18035a4e0
mov rsi, qword [rsp + 0x10]
cmp rdi, 8
jb 0x18035a580
jmp 0x18035a553
mov rdx, r9
sub rdx, rbx
mov rdi, r8
and rdi, 0xfffffffffffffff8
lea rax, [r10 + rbx]
nop
movq xmm1, qword [rcx + rax]
add r10, 8
movq xmm0, qword [rax]
lea rax, [rax + 8]
pxor xmm1, xmm0
movq qword [rdx + rax - 8], xmm1
cmp r10, rdi
jb 0x18035a560
mov rdi, qword [rsp + 0x18]
cmp r10, r8
jae 0x18035a5b5
sub r11, rbx
lea rax, [r10 + rbx]
sub r9, rbx
sub r8, r10
nop word [rax + rax]
movzx ecx, byte [rax + r11]
xor cl, byte [rax]
mov byte [rax + r9], cl
lea rax, [rax + 1]
sub r8, 1
jne 0x18035a5a0
pop rbx
ret

Function at 0x18035a6a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rdi
push r14
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.18040d2f0
sub rsp, rax
mov rdi, qword [rcx + 0x28]
mov rbx, rdx
mov rbp, rcx
cmp rdx, rdi
ja 0x18035a6de
shl rbx, 4
add rbx, qword [rcx + 0x58]
mov rax, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rbp
ret
mov rcx, qword [rcx + 0x30]
cmp rbx, rcx
jb 0x18035a72a
sub rdx, rcx
lea r8, str.cryptomodesocb128.c
add rdx, 4
mov r9d, WSAStartup
and rdx, 0xfffffffffffffffc
add rdx, rcx
mov rcx, qword [rbp + 0x58]
mov qword [rbp + 0x30], rdx
shl rdx, 4
call fcn.180236de0
test rax, rax
jne 0x18035a726
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rbp
ret
mov qword [rbp + 0x58], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], r12
mov r12, rbx
mov qword [rsp + 0x50], r15
mov r15, rdi
shl r15, 4
sub r12, rdi
nop word [rax + rax]
mov rcx, qword [rbp + 0x58]
mov edx, 1
add rcx, r15
movzx edi, byte [rcx]
lea rsi, [rcx + 0x10]
shr dil, 7
mov r8, rsi
neg dil
and dil, 0x87
call fcn.18035a2b0
xor byte [rsi + 0xf], dil
add r15, 0x10
sub r12, 1
jne 0x18035a750
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov qword [rbp + 0x28], rbx
shl rbx, 4
add rbx, qword [rbp + 0x58]
mov rax, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rbp
ret
Function at 0x18035ead0
Capabilities:
Encode data using xor

Disassembly:
mov eax, reloc.WS2_32.dll_getservbyport
call fcn.18040d2f0
sub rsp, rax
cmp dword [rsp + 0x68], 0
je 0x18035eaf9
lea rax, [0x18035d130]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.180355bc0
lea rax, [0x18035c2e0]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.180355900
Function at 0x1803615b0
Capabilities:
Hash data using sha1

Disassembly:
push rbx
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.18040d2f0
sub rsp, rax
mov rbx, rcx
call fcn.1802476a0
test eax, eax
jne 0x1803615d1
add rsp, 0x20
pop rbx
ret
lea rcx, [rbx + 0x5c]
add rsp, 0x20
pop rbx
jmp fcn.1802458c0

Function at 0x180363830
Capabilities:
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.18040d2f0
sub rsp, rax
mov rbx, rdx
mov rdi, rcx
add rcx, 0x40
xor edx, edx
mov r8d, 0xb0
call fcn.180447bd0
movabs rsi, 0x1f83d9abfb41bd6b
movabs rbp, 0x5be0cd19137e2179
mov qword [rdi + 0x30], rsi
movabs rcx, 0x6a09e667f3bcc908
mov qword [rdi + 0x38], rbp
movabs rdx, 0xbb67ae8584caa73b
mov qword [rdi], rcx
movabs r8, 0x3c6ef372fe94f82b
mov qword [rdi + 8], rdx
movabs r9, 0xa54ff53a5f1d36f1
mov qword [rdi + 0x10], r8
movabs r10, 0x510e527fade682d1
mov qword [rdi + 0x18], r9
movabs r11, 0x9b05688c2b3e6c1f
mov qword [rdi + 0x20], r10
mov qword [rdi + 0x28], r11
movzx eax, byte [rbx]
mov qword [rdi + 0xe8], rax
mov rax, qword [rbx]
xor rax, rcx
mov qword [rdi], rax
mov rax, qword [rbx + 8]
xor rax, rdx
mov qword [rdi + 8], rax
mov rax, qword [rbx + 0x10]
xor rax, r8
mov qword [rdi + 0x10], rax
mov rax, qword [rbx + 0x18]
xor rax, r9
mov qword [rdi + 0x18], rax
mov rax, qword [rbx + 0x20]
xor rax, r10
mov qword [rdi + 0x20], rax
mov rax, qword [rbx + 0x28]
xor rax, r11
mov qword [rdi + 0x28], rax
mov rax, qword [rbx + 0x30]
xor rax, rsi
mov rsi, qword [rsp + 0x40]
mov qword [rdi + 0x30], rax
mov rax, qword [rbx + 0x38]
mov rbx, qword [rsp + 0x30]
xor rax, rbp
mov rbp, qword [rsp + 0x38]
mov qword [rdi + 0x38], rax
add rsp, 0x20
pop rdi
ret