Function at 0x1400957e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
cmp rcx, rdx
je 0x140095b10
mov rsi, rdx
movabs r14, 0xcdc6eaa747311ed9
lea r12, reloc.WS2_32.dll_ntohs
mov r13, r8
mov rbp, rcx
jmp 0x14009582f
mov r13, rbx
mov rbp, rdi
cmp rdi, rsi
je 0x140095b10
mov rdi, qword [r13 + 0x30]
cmp qword [rbp + 0x30], rdi
jne 0x140095b14
mov rbx, qword [rbp + 0x38]
mov rax, qword [0x14030c630]
add rax, r14
call rax
cdqe
lea rcx, reloc.WS2_32.dll_ntohs
cmp rbx, qword [rcx + rax*8]
jbe 0x140095870
mov rbx, qword [rbp + 0x20]
jmp 0x140095874
lea rbx, [rbp + 0x20]
mov r15, qword [r13 + 0x38]
mov rax, qword [0x14030c638]
add rax, r14
call rax
cdqe
cmp r15, qword [r12 + rax*8]
jbe 0x1400958a0
mov rdx, qword [r13 + 0x20]
jmp 0x1400958a4
lea rdx, [r13 + 0x20]
mov rax, qword [0x14030c640]
add rax, r14
mov rcx, rbx
mov r8, rdi
call rax
mov edi, eax
mov rax, qword [0x14030c648]
add rax, r14
call rax
imul eax, dword [0x1402a5a18], 0x1461b262
imul ecx, dword [0x1402a5a1c], 0x9368d0ee
add eax, ecx
add eax, 0x46d7109e
cmp edi, eax
jne 0x140095b14
lea rdx, [r13 + 0x40]
lea rcx, [rbp + 0x40]
mov rax, qword [0x14030c650]
add rax, r14
call rax
test al, al
je 0x140095b14
mov rdi, qword [rbp + 0x10]
movzx ebx, byte [rdi + 0x19]
mov rax, qword [0x14030c658]
add rax, r14
call rax
movzx eax, byte [reloc.WS2_32.dll_WSAStartup]
movzx ecx, byte [0x1402a5a21]
shr cl, 4
shl al, 4
or al, cl
mov ecx, eax
xor cl, 0x3c
mov rax, rdi
cmp bl, cl
jne 0x140095980
nop dword [rax]
mov rdi, rax
mov rbx, qword [rax]
movzx ebp, byte [rbx + 0x19]
mov rax, qword [0x14030c670]
add rax, r14
call rax
movzx eax, byte [0x1402a5a26]
movzx ecx, byte [0x1402a5a27]
shr cl, 2
shl al, 6
or al, cl
mov ecx, eax
xor cl, 0xe1
mov rax, rbx
cmp bpl, cl
je 0x140095940
jmp 0x140095a00
mov rdi, qword [rbp + 8]
movzx ebx, byte [rdi + 0x19]
mov rax, qword [0x14030c660]
add rax, r14
call rax
movzx eax, byte [0x1402a5a23]
imul eax, eax, 0x32
add al, 0x94
cmp bl, al
jne 0x140095a00
mov rax, rdi
nop word [rax + rax]
mov rdi, rax
cmp rbp, qword [rax + 0x10]
jne 0x140095a00
mov rbx, qword [rdi + 8]
movzx r15d, byte [rbx + 0x19]
mov rax, qword [0x14030c668]
add rax, r14
call rax
movzx eax, byte [0x1402a5a24]
movzx ecx, byte [reloc.OLEAUT32.dll_SysAllocStringByteLen]
imul eax, eax, 0xffffffc7
imul ecx, ecx, 0xffffffe6
add cl, al
add cl, 0x35
mov rax, rbx
mov rbp, rdi
mov rdi, rbx
cmp r15b, cl
je 0x1400959b0
nop word cs:[rax + rax]
mov rbx, qword [r13 + 0x10]
movzx ebp, byte [rbx + 0x19]
mov rax, qword [0x14030c678]
add rax, r14
call rax
movzx eax, byte [reloc.WS2_32.dll_WSACleanup]
movzx ecx, byte [0x1402a5a29]
shr cl, 1
shl al, 7
or al, cl
mov ecx, eax
xor cl, 0x21
mov rax, rbx
cmp bpl, cl
jne 0x140095a80
nop word cs:[rax + rax]
mov rbx, rax
mov r15, qword [rax]
movzx ebp, byte [r15 + 0x19]
mov rax, qword [0x14030c690]
add rax, r14
call rax
movzx eax, byte [0x1402a5a2f]
mov ecx, eax
shl ecx, 5
lea eax, [rcx + rax*2]
add al, byte [0x1402a5a2e]
mov ecx, eax
add cl, 0xf0
mov rax, r15
cmp bpl, cl
je 0x140095a40
jmp 0x140095820
mov rbx, qword [r13 + 8]
movzx ebp, byte [rbx + 0x19]
mov rax, qword [0x14030c680]
add rax, r14
call rax
movzx eax, byte [reloc.WLDAP32.dll_Ordinal_143]
movzx ecx, byte [0x1402a5a2b]
imul eax, eax, 0xffffff99
add cl, cl
sub al, cl
add al, 0x63
cmp bpl, al
jne 0x140095820
mov rax, rbx
nop word [rax + rax]
mov rbx, rax
cmp r13, qword [rax + 0x10]
jne 0x140095820
mov r15, qword [rbx + 8]
movzx ebp, byte [r15 + 0x19]
mov rax, qword [0x14030c688]
add rax, r14
call rax
movzx eax, byte [0x1402a5a2c]
movzx ecx, byte [reloc.WS2_32.dll_sendto]
shr cl, 3
shl al, 5
or al, cl
mov ecx, eax
xor cl, 0xc2
mov rax, r15
mov r13, rbx
mov rbx, r15
cmp bpl, cl
je 0x140095ac0
jmp 0x140095820
mov al, 1
jmp 0x140095b16
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret