Function at 0x1400344d0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x140663688]
mov r15, rcx
mov r10d, dword [0x140663680]
mov r12, r9
mov qword [r11 + 0x20], 0
movsxd r13, r8d
mov byte [rax + 2], 2
mov rax, qword [0x140663688]
mov qword [rax + 8], r10
mov rax, qword [0x140663688]
mov qword [rax + 0x10], rcx
lea rcx, [r11 + 0x20]
mov rax, qword [0x140663688]
mov qword [rax + 0x18], rcx
mov rax, qword [0x140663688]
mov qword [rax + 0x20], 8
call fcn.1400344a0
mov rax, qword [0x140663688]
xor edi, edi
mov ecx, dword [0x140663680]
mov rbx, qword [rsp + 0xb8]
mov byte [rax + 2], 2
mov rax, qword [0x140663688]
mov qword [rax + 8], rcx
lea rcx, [rsp + 0xa0]
mov rax, qword [0x140663688]
mov qword [rax + 0x10], rbx
mov rax, qword [0x140663688]
mov qword [rax + 0x18], rcx
mov rax, qword [0x140663688]
mov qword [rax + 0x20], 8
call fcn.1400344a0
cmp qword [rsp + 0xa0], rdi
je 0x140034612
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x140663688]
inc edi
mov ecx, dword [0x140663680]
mov byte [rax + 2], 2
mov rax, qword [0x140663688]
mov qword [rax + 8], rcx
movsxd rax, edi
lea rcx, [rbx + rax*8]
mov rax, qword [0x140663688]
mov qword [rax + 0x10], rcx
lea rcx, [rsp + 0xa0]
mov rax, qword [0x140663688]
mov qword [rax + 0x18], rcx
mov rax, qword [0x140663688]
mov qword [rax + 0x20], 8
call fcn.1400344a0
cmp qword [rsp + 0xa0], 0
jne 0x1400345b0
movups xmm0, xmmword [0x1401f9398]
movups xmmword [rsp + 0x28], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14003479c
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140034768
movdqa xmm0, xmmword [0x1401ff740]
lea rcx, [rsp + 0x2c]
movdqa xmm4, xmmword [0x1401ff610]
xor edx, edx
movdqa xmm3, xmmword [0x1401ff730]
movdqa xmm5, xmmword [0x1401ff660]
movdqa xmmword [rsp + 0x40], xmm0
mov r8d, dword [rsp + 0x40]
movaps xmmword [rsp + 0x50], xmm6
movdqa xmm6, xmmword [0x1401ff6c0]
nop dword [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm4
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x10
jl 0x140034680
movaps xmm6, xmmword [rsp + 0x50]
jmp 0x14003479c
lea r8, [rsp + 0x28]
xor ecx, ecx
nop
mov eax, 0x94f2095
lea r8, [r8 + 1]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x37
movzx eax, cl
inc ecx
sub al, dl
add al, 0x32
xor byte [r8 - 1], al
cmp ecx, 0x10
jl 0x140034770
lea rdx, [rsp + 0x28]
lea rcx, [0x140662020]
call fcn.14001cf60
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, 0xfffff9ff
bts ecx, 0xb
mov dword [rdx + rax + 0x18], ecx
mov edx, edi
mov rcx, rax
call fcn.140034ad0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, 0xfffff3ff
bts ecx, 9
mov dword [rdx + rax + 0x18], ecx
mov rcx, rax
call fcn.140034d80
call fcn.14017b538
lea eax, [rdi*8]
mov r9d, 4
movsxd rbp, eax
mov r8d, 0x3000
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rbp
xor edx, edx
mov rcx, rax
mov r14, rax
call fcn.1401a34b0
test edi, edi
jle 0x1400348bb
mov qword [rsp + 0xb0], rsi
mov rsi, r14
nop word [rax + rax]
mov rax, qword [0x140663688]
mov ecx, dword [0x140663680]
mov qword [rsp + 0xa0], 0
mov byte [rax + 2], 2
mov rax, qword [0x140663688]
mov qword [rax + 8], rcx
lea rcx, [rsp + 0xa0]
mov rax, qword [0x140663688]
mov qword [rax + 0x10], rbx
mov rax, qword [0x140663688]
mov qword [rax + 0x18], rcx
mov rax, qword [0x140663688]
mov qword [rax + 0x20], 8
call fcn.1400344a0
mov rax, qword [rsp + 0xa0]
add rbx, 8
mov qword [rsi], rax
lea rsi, [rsi + 8]
sub rdi, 1
jne 0x140034840
mov rsi, qword [rsp + 0xb0]
mov rax, qword [r14 + r13*8]
lea rbx, [r14 + r13*8]
mov ecx, dword [0x140663680]
mov qword [rsp + 0x20], rax
mov rax, qword [0x140663688]
mov byte [rax + 2], 3
mov rax, qword [0x140663688]
mov qword [rax + 8], rcx
lea rcx, [rsp + 0x20]
mov rax, qword [0x140663688]
mov qword [rax + 0x10], r12
mov rax, qword [0x140663688]
mov qword [rax + 0x18], rcx
mov rax, qword [0x140663688]
mov qword [rax + 0x20], 8
call fcn.1400344a0
mov rax, qword [rsp + 0xa8]
mov ecx, dword [0x140663680]
mov qword [rbx], rax
mov rax, qword [0x140663688]
mov rbx, qword [rsp + 0xc0]
add rbx, 0x1000
mov byte [rax + 2], 5
mov rax, qword [0x140663688]
mov qword [rax + 8], rcx
mov rax, qword [0x140663688]
mov qword [rax + 0x10], rbx
mov rax, qword [0x140663688]
mov qword [rax + 0x20], rbp
mov rax, qword [0x140663688]
mov dword [rax + 0x30], 4
call fcn.1400344a0
mov rax, qword [0x140663688]
mov ecx, dword [0x140663680]
mov byte [rax + 2], 3
mov rax, qword [0x140663688]
mov qword [rax + 8], rcx
mov rax, qword [0x140663688]
mov qword [rax + 0x10], rbx
mov rax, qword [0x140663688]
mov qword [rax + 0x18], r14
mov rax, qword [0x140663688]
mov qword [rax + 0x20], rbp
call fcn.1400344a0
mov rax, qword [0x140663688]
mov ecx, dword [0x140663680]
mov qword [rsp + 0xa8], rbx
mov byte [rax + 2], 3
mov rax, qword [0x140663688]
mov qword [rax + 8], rcx
lea rcx, [rsp + 0xa8]
mov rax, qword [0x140663688]
mov qword [rax + 0x10], r15
mov rax, qword [0x140663688]
mov qword [rax + 0x18], rcx
mov rax, qword [0x140663688]
mov qword [rax + 0x20], 8
call fcn.1400344a0
mov al, 1
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret