Function at 0x140160d30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
lea rbp, [rsp - 0x808]
sub rsp, 0x908
mov rax, qword [0x14049e608]
xor rax, rsp
mov qword [rbp + 0x7d0], rax
mov r11, r8
mov r10d, edx
mov r12, rcx
call fcn.140161940
test eax, eax
jne 0x140161301
test r10d, 0xfffffffd
je 0x140160d7d
mov eax, 0xffffffe6
jmp 0x140161301
mov qword [rsp + 0x8f8], rdi
mov edi, dword [rcx + 0x54]
lea eax, [rdi*8]
cmp dword [rcx + 0x50], eax
cmovae eax, dword [rcx + 0x50]
xor edx, edx
lea ecx, [rdi*4]
div ecx
mov edx, edi
imul edx, eax
mov ecx, eax
shl edx, 2
test r11, r11
je 0x140160dcc
test r9, 0x3ff
jne 0x140160e74
shr r9, 0xa
mov eax, edx
cmp r9, rax
jb 0x140160e74
mov eax, dword [r12 + 0x5c]
mov dword [rsp + 0x28], eax
mov eax, dword [r12 + 0x4c]
mov dword [rsp + 0x2c], eax
lea eax, [rcx*4]
mov dword [rsp + 0x38], eax
mov eax, dword [r12 + 0x70]
shr eax, 3
and eax, 1
mov dword [rsp + 0x34], ecx
mov ecx, dword [r12 + 0x58]
mov dword [rsp + 0x48], eax
xor eax, eax
test r11, r11
mov qword [rsp + 0x20], r11
mov dword [rsp + 0x30], edx
setne al
mov dword [rsp + 0x3c], edi
cmp ecx, edi
mov dword [rsp + 0x44], r10d
mov dword [rsp + 0x4c], eax
cmova ecx, edi
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x40], ecx
mov rcx, rdx
shl rcx, 0xa
test r11, r11
jne 0x140160e83
test rdx, rdx
je 0x140160e4a
mov rax, rcx
shr rax, 0xa
cmp rax, rdx
jne 0x140160e74
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x140160e65
mov rdx, rcx
lea rcx, [rsp + 0x20]
call rax
mov rax, qword [rsp + 0x20]
jmp 0x140160e6f
call fcn.140340064
mov qword [rsp + 0x20], rax
test rax, rax
jne 0x140160e7e
mov eax, 0xffffffea
jmp 0x1401612f9
mov r10d, dword [rsp + 0x44]
mov qword [rsp + 0x900], rsi
lea rcx, [rbp - 0x80]
mov r8d, r10d
mov qword [rsp + 0x8f0], r13
mov rdx, r12
call fcn.140161a30
cmp dword [0x140735280], 0
mov esi, 8
je 0x140160eba
lea rdi, [rbp - 0x40]
xor eax, eax
mov ecx, esi
rep stosb byte [rdi], al
cmp dword [rsp + 0x48], 0
je 0x140160ed2
mov r8d, dword [rsp + 0x44]
lea rcx, [rbp - 0x80]
mov rdx, r12
call fcn.140166410
mov edx, dword [rsp + 0x3c]
xor edi, edi
lea r13d, [rdi + 1]
test edx, edx
je 0x140160f5c
mov r9d, 0x48
mov dword [rbp - 0x40], 0
lea r8, [rbp - 0x80]
mov dword [rbp - 0x3c], edi
mov edx, 0x400
lea rcx, [rbp - 0x30]
call fcn.1401688c0
mov ecx, edi
lea rdx, [rbp - 0x30]
imul ecx, dword [rsp + 0x38]
shl rcx, 0xa
add rcx, qword [rsp + 0x20]
call fcn.1401614f0
mov r9d, 0x48
mov dword [rbp - 0x40], r13d
lea r8, [rbp - 0x80]
mov edx, 0x400
lea rcx, [rbp - 0x30]
call fcn.1401688c0
mov ecx, edi
lea rdx, [rbp - 0x30]
imul ecx, dword [rsp + 0x38]
inc ecx
shl rcx, 0xa
add rcx, qword [rsp + 0x20]
call fcn.1401614f0
mov edx, dword [rsp + 0x3c]
inc edi
cmp edi, edx
jb 0x140160ee0
cmp dword [0x140735280], 0
je 0x140160f7d
xor eax, eax
lea rdi, [rbp - 0x30]
mov ecx, 0x400
rep stosb byte [rdi], al
lea rdi, [rbp - 0x80]
mov ecx, 0x48
rep stosb byte [rdi], al
test edx, edx
je 0x1401612e4
mov qword [rsp + 0x938], rbx
mov qword [rsp + 0x8e0], r15
xor r15d, r15d
cmp dword [rsp + 0x2c], r15d
jbe 0x14016108e
mov qword [rsp + 0x8e8], r14
nop dword [rax + rax]
xor ebx, ebx
xor edi, edi
test edx, edx
je 0x140160ffa
nop dword [rax + rax]
mov dword [rsp + 0x60], r15d
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x64], edi
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x68], bl
mov dword [rsp + 0x6c], 0
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
call qword [0x14049fc10]
mov edx, dword [rsp + 0x3c]
inc edi
cmp edi, edx
jb 0x140160fc0
inc ebx
cmp ebx, 4
jb 0x140160fb2
cmp dword [rsp + 0x48], 0
je 0x140161073
mov edx, r15d
lea rcx, str._n_After_pass__u:_n
call fcn.14002b910
mov eax, dword [rsp + 0x30]
xor esi, esi
test eax, eax
je 0x14016106f
mov r14d, 0x80
mov ebx, esi
cmp eax, r14d
cmova r14d, r13d
xor edi, edi
shl rbx, 0xa
nop word [rax + rax]
mov r9, qword [rsp + 0x20]
lea rcx, str.Block__.4u___3u_:__016llx_n
mov r8d, edi
mov edx, esi
mov r9, qword [rbx + r9]
call fcn.14002b910
inc edi
lea rbx, [rbx + 8]
cmp edi, r14d
jb 0x140161040
mov eax, dword [rsp + 0x30]
inc esi
cmp esi, eax
jb 0x140161021
mov edx, dword [rsp + 0x3c]
inc r15d
cmp r15d, dword [rsp + 0x2c]
jb 0x140160fb0
mov r14, qword [rsp + 0x8e8]
mov esi, 8
mov rbx, qword [r12]
mov r15, qword [rsp + 0x8e0]
test rbx, rbx
je 0x1401612d8
mov r10, qword [rsp + 0x20]
mov r9d, dword [rsp + 0x38]
mov eax, r9d
shl rax, 0xa
lea rcx, [r10 - 0x400]
add rcx, rax
lea rax, [rbp - 0x30]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rsi, r13
jne 0x1401610c2
cmp edx, r13d
jbe 0x1401611eb
nop dword [rax]
inc r13d
lea r8, [rbp - 0x30]
mov edi, r13d
xor ecx, ecx
imul edi, r9d
dec edi
shl rdi, 0xa
add rdi, r10
lea rax, [rdi + 0x3f8]
cmp r8, rax
ja 0x140161168
lea rax, [rbp + 0x3c8]
cmp rax, rdi
jb 0x140161168
mov rax, qword [rdi + rcx*8]
xor qword [rbp + rcx*8 - 0x30], rax
inc rcx
cmp rcx, 0x80
jl 0x140161151
jmp 0x1401611e2
lea rcx, [rbp - 0x30]
sub rcx, rdi
lea r8, [rbp - 0x20]
sub r8, rdi
lea rax, [rdi + 0x20]
mov edi, reloc.WS2_32.dll_recv
nop
movdqu xmm0, xmmword [rcx + rax - 0x20]
movdqu xmm1, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x60], xmm1
movdqu xmm0, xmmword [r8 + rax - 0x60]
movdqu xmm1, xmmword [rax - 0x50]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax - 0x60], xmm1
movdqu xmm0, xmmword [rcx + rax - 0x40]
movdqu xmm1, xmmword [rax - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x40], xmm1
movdqu xmm0, xmmword [r8 + rax - 0x40]
movdqu xmm1, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax - 0x40], xmm1
sub rdi, 1
jne 0x140161180
cmp r13d, edx
jb 0x140161120
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x3d0]
call fcn.1401614f0
mov edx, dword [r12 + 8]
lea r8, [rbp + 0x3d0]
mov r9d, 0x400
mov rcx, rbx
call fcn.1401688c0
mov edx, dword [0x140735280]
test edx, edx
je 0x14016123a
xor eax, eax
lea rdi, [rbp - 0x30]
mov ecx, 0x400
rep stosb byte [rdi], al
lea rdi, [rbp + 0x3d0]
mov ecx, 0x400
rep stosb byte [rdi], al
cmp dword [rsp + 0x48], 0
je 0x14016128b
mov rdi, qword [r12]
mov ebx, dword [r12 + 8]
test rdi, rdi
je 0x14016128b
lea rcx, str.Tag:
call fcn.14002b910
test ebx, ebx
je 0x140161279
nop
movzx edx, byte [rdi]
lea rcx, str._2.2x
call fcn.14002b910
lea rdi, [rdi + 1]
sub rbx, 1
jne 0x140161260
lea rcx, [0x140451e34]
call fcn.14002b910
mov edx, dword [0x140735280]
mov r8d, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
shl r8d, 0xa
test edx, edx
je 0x1401612b1
test rcx, rcx
je 0x1401612b1
mov rdi, rcx
xor eax, eax
mov ecx, r8d
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x20]
cmp dword [rsp + 0x4c], 0
jne 0x1401612d8
mov rax, qword [r12 + 0x68]
test rax, rax
je 0x1401612d3
mov rdx, r8
call rax
mov rbx, qword [rsp + 0x938]
xor eax, eax
jmp 0x1401612e9
call fcn.14033fbc4
mov rbx, qword [rsp + 0x938]
xor eax, eax
jmp 0x1401612e9
mov eax, 0xffffffe7
mov rsi, qword [rsp + 0x900]
mov r13, qword [rsp + 0x8f0]
mov rdi, qword [rsp + 0x8f8]
mov rcx, qword [rbp + 0x7d0]
xor rcx, rsp
call fcn.1403195b0
add rsp, 0x908
pop r12
pop rbp
ret