Function at 0x140069480
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov r12, qword [rcx]
mov r14, qword [rcx + 8]
sub r14, r12
movabs r15, 0xa89d852205596c34
mov rax, qword [0x140307920]
add rax, r15
call rax
cdqe
lea rcx, reloc.WS2_32.dll_connect
movzx ecx, byte [rcx + rax*8]
sar r14, cl
mov rax, qword [0x140307928]
add rax, r15
call rax
cdqe
lea rcx, reloc.WS2_32.dll_accept
mov rbp, r14
add rbp, qword [rcx + rax*8]
mov r14, qword [rsi + 0x10]
sub r14, r12
mov rax, qword [0x140307930]
add rax, r15
call rax
cdqe
lea rcx, reloc.WS2_32.dll_connect
movzx ecx, byte [rcx + rax*8]
sar r14, cl
mov rax, qword [0x140307938]
add rax, r15
call rax
cdqe
lea rcx, reloc.WS2_32.dll_accept
movzx ecx, byte [rcx + rax*8]
mov r13, r14
shr r13, cl
mov rax, qword [0x140307940]
add rax, r15
call rax
cdqe
lea rcx, [0x140259180]
mov rax, qword [rcx + rax*8]
sub rax, r13
add r13, r14
cmp r13, rbp
mov rcx, r13
mov qword [rsp + 0x30], rbp
cmovbe rcx, rbp
mov rdx, qword [0x1402a2fc8]
mov r8, qword [0x1402a2fd0]
shrd r8, rdx, 0x3a
movabs r13, 0x55c836e5c1350592
xor r13, r8
cmp r14, rax
cmovbe r13, rcx
mov rax, qword [0x140307948]
add rax, r15
call rax
cdqe
lea rcx, [0x1402591a0]
cmp r13, qword [rcx + rax*8]
ja 0x140069985
mov rax, qword [0x140307958]
add rax, r15
call rax
cdqe
lea rcx, reloc.WS2_32.dll_connect
movzx ecx, byte [rcx + rax*8]
mov r14, r13
shl r14, cl
mov rax, qword [0x140307960]
add rax, r15
call rax
mov rax, qword [0x1402a2fd8]
mov rcx, qword [0x1402a2fe0]
shrd rcx, rax, 0x33
movabs rax, 0x10b78829413eec4e
xor rax, rcx
cmp r13, rax
mov qword [rsp + 0x28], r13
jne 0x1400695f8
xor r14d, r14d
jmp 0x1400696ba
mov rax, qword [0x140307968]
add rax, r15
call rax
cdqe
lea rcx, [0x1402591e0]
cmp r13, qword [rcx + rax*8]
jbe 0x1400696a8
mov rax, qword [0x140307970]
add rax, r15
call rax
cdqe
lea rcx, [0x140259200]
cmp r13, qword [rcx + rax*8]
jae 0x140069985
mov rax, qword [0x140307978]
add rax, r15
call rax
cdqe
lea rdx, [0x140259220]
add r14, qword [rdx + rax*8]
mov rax, qword [0x140307980]
add rax, r15
mov rcx, r14
call rax
test rax, rax
je 0x14006998f
mov r14, rax
mov rax, qword [0x140307990]
add rax, r15
call rax
cdqe
lea rcx, [0x140259240]
mov rbp, qword [rcx + rax*8]
add rbp, r14
mov rax, qword [0x140307998]
add rax, r15
call rax
cdqe
lea rcx, [0x140259260]
and rbp, qword [rcx + rax*8]
mov qword [rbp - 8], r14
mov r14, rbp
jmp 0x1400696ba
mov rax, qword [0x140307980]
add rax, r15
mov rcx, r14
call rax
mov r14, rax
mov r13, rdi
sub r13, r12
movzx eax, byte [rbx]
mov byte [r14 + r13], al
mov rax, qword [rbx + 8]
mov qword [r14 + r13 + 8], rax
mov rax, qword [0x1403079a0]
add rax, r15
call rax
movzx eax, byte [0x1402a2fe8]
movzx ecx, byte [0x1402a2fe9]
imul eax, eax, 0xffffffa7
lea ecx, [rcx + rcx*8]
neg ecx
add cl, al
add cl, 0x86
mov byte [rbx], cl
mov qword [rbx + 8], 0
mov rbx, qword [rsi]
mov rax, qword [rsi + 8]
cmp rax, rdi
je 0x1400697f6
cmp rbx, rdi
je 0x14006977f
xor eax, eax
nop dword [rax + rax]
mov r12, rax
movzx eax, byte [rbx + rax]
mov byte [r14 + r12], al
mov rax, qword [rbx + r12 + 8]
mov qword [r14 + r12 + 8], rax
mov rax, qword [0x1403079b0]
add rax, r15
call rax
movzx eax, byte [0x1402a2fec]
movzx ecx, byte [0x1402a2fed]
imul eax, eax, 0x45
imul ecx, ecx, 0xffffffca
add cl, al
add cl, 0x99
mov byte [rbx + r12], cl
mov qword [rbx + r12 + 8], 0
lea rcx, [rbx + r12]
add rcx, 0x10
add r12, 0x10
mov rax, r12
cmp rcx, rdi
jne 0x140069720
mov rax, qword [rsi + 8]
cmp rax, rdi
je 0x14006986a
mov rbx, rax
lea r12, [r14 + r13]
add r12, 0x18
xor ebp, ebp
nop word cs:[rax + rax]
movzx eax, byte [rdi + rbp]
mov byte [r12 + rbp - 8], al
mov rax, qword [rdi + rbp + 8]
mov qword [r12 + rbp], rax
mov rax, qword [0x1403079b8]
add rax, r15
call rax
movzx eax, byte [0x1402a2fee]
movzx ecx, byte [0x1402a2fef]
imul eax, eax, 0x2f
imul ecx, ecx, 0xffffff93
add cl, al
add cl, 0x62
mov byte [rdi + rbp], cl
mov qword [rdi + rbp + 8], 0
lea rcx, [rdi + rbp]
add rcx, 0x10
add rbp, 0x10
cmp rcx, rbx
jne 0x1400697a0
jmp 0x14006986a
cmp rbx, rdi
je 0x140069977
xor eax, eax
nop word cs:[rax + rax]
mov r12, rax
movzx eax, byte [rbx + rax]
mov byte [r14 + r12], al
mov rax, qword [rbx + r12 + 8]
mov qword [r14 + r12 + 8], rax
mov rax, qword [0x1403079a8]
add rax, r15
call rax
movzx eax, byte [reloc.OLEAUT32.dll_VariantClear]
movzx ecx, byte [reloc.WS2_32.dll_connect]
shr cl, 5
shl al, 3
or al, cl
xor al, 0x40
mov byte [rbx + r12], al
mov qword [rbx + r12 + 8], 0
lea rcx, [rbx + r12]
add rcx, 0x10
add r12, 0x10
mov rax, r12
cmp rcx, rdi
jne 0x140069810
mov rax, qword [rsi]
test rax, rax
je 0x14006993d
mov rdi, qword [rsi + 8]
cmp rax, rdi
je 0x1400698a7
nop
mov rbx, rax
movzx edx, byte [rax]
mov rax, qword [0x1403079c0]
add rax, r15
lea rcx, [rbx + 8]
call rax
add rbx, 0x10
mov rax, rbx
cmp rbx, rdi
jne 0x140069880
mov r12, qword [rsi]
jmp 0x1400698aa
mov r12, rax
mov rdi, qword [rsi + 0x10]
sub rdi, r12
mov rax, qword [0x1403079c8]
add rax, r15
call rax
cdqe
lea rcx, [0x140259280]
cmp rdi, qword [rcx + rax*8]
jbe 0x14006992d
mov rbx, qword [r12 - 8]
mov rax, qword [0x1403079d0]
add rax, r15
call rax
cdqe
lea rcx, [0x1402592a0]
add r12, qword [rcx + rax*8]
sub r12, rbx
mov rax, qword [0x1403079d8]
add rax, r15
call rax
cdqe
lea rcx, reloc.WLDAP32.dll_Ordinal_32
cmp r12, qword [rcx + rax*8]
jae 0x14006998f
mov rax, qword [0x1403079e0]
add rax, r15
call rax
cdqe
lea rcx, [0x1402592e0]
add rdi, qword [rcx + rax*8]
mov rdx, rdi
mov rcx, rbx
jmp 0x140069933
mov rdx, rdi
mov rcx, r12
add r15, qword [0x1403079e8]
call r15
add r13, r14
mov qword [rsi], r14
mov rcx, qword [rsp + 0x30]
shl rcx, 4
add rcx, r14
mov qword [rsi + 8], rcx
mov rcx, qword [rsp + 0x28]
shl rcx, 4
add rcx, r14
mov qword [rsi + 0x10], rcx
mov rax, r13
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, rdi
test rax, rax
jne 0x140069876
jmp 0x14006993d
add r15, qword [0x140307950]
call r15
add r15, qword [0x140307988]
call r15
int3