Function at 0x140092810
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rcx
mov eax, dword [0x1402977a8]
mov ecx, dword [0x1402977ac]
shrd ecx, eax, 0x16
xor ecx, 0x1f33a878
mov eax, ecx
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1401e2600
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rdx]
mov rcx, qword [rdx + 8]
mov r11, qword [rdx + 0x10]
mov r10, qword [rdx + 0x18]
mov rdx, qword [r8 + 8]
mov qword [rbp - 0x40], rdx
mov rdx, qword [r8 + 0x10]
mov qword [rbp - 0x38], rdx
mov rdx, qword [r8 + 0x18]
mov qword [rbp - 0x48], rdx
mov rdx, qword [r9]
mov qword [rbp - 8], rdx
mov qword [rbp - 0x30], r9
mov r8, qword [r9 + 8]
mov qword [rbp - 0x18], rax
movzx eax, byte [rax]
movabs rsi, 0xa7b363fc772b71d9
mov rdx, r11
mov r9, r10
jmp 0x1400928e1
mov rax, qword [0x1402fbc38]
add rax, rsi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
mov r9, qword [rbp]
lea rcx, reloc.WS2_32.dll_accept
add r9, qword [rcx + rax*8]
mov eax, r13d
mov rcx, rbx
mov rdx, r15
mov r8, r12
mov r13, r9
mov r12, r8
mov r15, rdx
mov rbx, rcx
cmp al, 2
jge 0x140092910
cmp al, 1
jne 0x140092920
cmp rbx, qword [rbp - 0x40]
je 0x140092bd3
lea rax, [rbx + 0x40]
jmp 0x140092942
jne 0x140092920
mov rax, r15
cmp r15, qword [rbp - 0x38]
jne 0x140092942
jmp 0x140092bd3
cmp r13, qword [rbp - 0x48]
je 0x140092bd3
mov rax, qword [0x1402fbc00]
add rax, rsi
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp - 0x18]
movzx ecx, byte [rax]
cmp cl, 6
jge 0x140092960
cmp cl, 4
mov r8, qword [rbp - 0x10]
jg 0x14009296d
mov rcx, qword [rbp - 8]
jne 0x140092974
movzx edi, byte [rax + 8]
jmp 0x140092974
cmp cl, 7
mov r8, qword [rbp - 0x10]
jge 0x140092a20
mov edi, dword [rax + 8]
mov rcx, qword [rbp - 8]
mov dword [r8], edi
mov r14, qword [rcx + 8]
cmp r14, qword [rcx + 0x10]
mov qword [rbp], r13
je 0x140092a00
cmp r14, r12
je 0x140092a40
lea r13, [r14 - 4]
mov eax, dword [r14 - 4]
mov dword [r14], eax
add qword [rcx + 8], 4
sub r13, r12
mov rax, qword [0x1402fbc08]
add rax, rsi
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [0x1402977c0]
mov rcx, qword [0x1402977c8]
shrd rcx, rax, 0x32
movabs rax, 0x19a2506357e39521
xor rcx, rax
sub rcx, r13
add rcx, r14
sub rsp, 0x20
mov rdx, r12
mov r8, r13
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov dword [r12], edi
jmp 0x140092a49
mov rax, qword [0x1402fbc10]
add rax, rsi
sub rsp, 0x20
mov rdx, r12
call rax
add rsp, 0x20
mov r12, rax
jmp 0x140092a49
mov rcx, qword [rbp - 8]
jne 0x140092974
cvttsd2si rax, qword [rax + 8]
mov edi, eax
jmp 0x140092974
mov dword [r12], edi
add qword [rcx + 8], 4
add r12, 4
mov rax, qword [rbp - 0x18]
movzx r13d, byte [rax]
cmp r13b, 2
jge 0x140092b00
cmp r13b, 1
jne 0x1400928b0
mov rdi, qword [rbx + 0x10]
movzx r14d, byte [rdi + 0x19]
mov rax, qword [0x1402fbc18]
add rax, rsi
sub rsp, 0x20
call rax
add rsp, 0x20
movzx eax, byte [0x1402977d0]
movzx ecx, byte [0x1402977d1]
imul eax, eax, 0x67
lea ecx, [rcx + rcx*8]
lea ecx, [rcx + rcx*2]
add cl, al
add cl, 0x9a
mov rax, rdi
cmp r14b, cl
jne 0x140092b1f
nop word [rax + rax]
mov rdi, rax
mov rbx, qword [rax]
movzx r14d, byte [rbx + 0x19]
mov rax, qword [0x1402fbc30]
add rax, rsi
sub rsp, 0x20
call rax
add rsp, 0x20
movzx eax, byte [0x1402977d6]
movzx ecx, byte [0x1402977d7]
shr cl, 1
shl al, 7
or al, cl
mov ecx, eax
xor cl, 0x2d
mov rax, rbx
cmp r14b, cl
je 0x140092ab0
mov eax, r13d
mov rcx, rdi
jmp 0x140092b10
jne 0x1400928b0
add r15, 0x10
mov eax, r13d
mov rcx, rbx
mov rdx, r15
mov r8, r12
mov r9, qword [rbp]
jmp 0x1400928e1
mov rdi, qword [rbx + 8]
movzx r14d, byte [rdi + 0x19]
mov rax, qword [0x1402fbc20]
add rax, rsi
sub rsp, 0x20
call rax
add rsp, 0x20
movzx eax, byte [0x1402977d2]
movzx ecx, byte [0x1402977d3]
imul eax, eax, 0x75
imul ecx, ecx, 0xffffffbd
add cl, al
mov r10d, ecx
add r10b, 0x1c
mov eax, r13d
mov rcx, rdi
mov rdx, r15
mov r8, r12
mov r9, qword [rbp]
cmp r14b, r10b
jne 0x1400928e1
mov rax, rdi
mov rdi, rbx
nop dword [rax + rax]
mov rcx, rdi
mov rdi, rax
cmp rcx, qword [rax + 0x10]
jne 0x140092af1
mov rbx, qword [rdi + 8]
movzx r14d, byte [rbx + 0x19]
mov rax, qword [0x1402fbc28]
add rax, rsi
sub rsp, 0x20
call rax
add rsp, 0x20
movzx eax, byte [reloc.OLEAUT32.dll_SysStringLen]
movzx ecx, byte [0x1402977d5]
imul eax, eax, 0xffffffd4
imul ecx, ecx, 0x4f
add cl, al
add cl, 0x51
mov rax, rbx
cmp r14b, cl
je 0x140092b80
jmp 0x140092b0a
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 8]
mov qword [rcx], rax
mov qword [rcx + 8], r12
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x28]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rbp - 0x20]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret