Function at 0x1401bec50
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x338]
sub rsp, 0x400
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
mov rax, qword [0x1405ec140]
xor rax, rsp
mov qword [rbp + 0x280], rax
mov rbx, qword [rcx + 0x80]
mov rsi, rcx
mov qword [rbp - 0x20], rcx
mov eax, 0x100
sub rax, rbx
mov qword [rbp - 0x28], r9
mov edi, 0x80
mov byte [rbp + 0x1f0], 0x80
sub rdi, rbx
lea rcx, [rbp + 0x1f1]
cmp rbx, 0x78
cmovae rdi, rax
xor edx, edx
lea r8, [rdi - 9]
call fcn.140431a20
cmp rbx, 0x78
lea rdx, [rbp + 0x1f0]
mov r8, rdi
mov rcx, rsi
sbb rax, rax
add rax, 2
add rax, qword [rsi + 0x108]
bswap rax
mov qword [rbp + rdi + 0x1e8], rax
call fcn.1401bba80
movups xmm0, xmmword [rsi + 0x88]
xor edx, edx
movups xmm1, xmmword [rsi + 0x98]
xor eax, eax
mov dword [rbp - 0x60], edx
movups xmmword [rbp + 0x170], xmm0
movups xmm0, xmmword [rsi + 0xa8]
mov qword [rbp - 0x58], rax
movups xmmword [rbp + 0x180], xmm1
movups xmm1, xmmword [rsi + 0xb8]
movups xmmword [rbp + 0x190], xmm0
movups xmm0, xmmword [rsi + 0xc8]
movups xmmword [rbp + 0x1a0], xmm1
movups xmm1, xmmword [rsi + 0xd8]
movups xmmword [rbp + 0x1b0], xmm0
movups xmm0, xmmword [rsi + 0xe8]
movups xmmword [rbp + 0x1c0], xmm1
movups xmm1, xmmword [rsi + 0xf8]
movups xmmword [rbp + 0x1d0], xmm0
movups xmm0, xmmword [rsi + 0x88]
movups xmmword [rbp + 0x1e0], xmm1
movups xmm1, xmmword [rsi + 0x98]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [rsi + 0xa8]
mov rbx, qword [rsp + 0x20]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [rsi + 0xb8]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rsi + 0xc8]
movups xmmword [rsp + 0x50], xmm1
movups xmm1, xmmword [rsi + 0xd8]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rsi + 0xe8]
movups xmmword [rsp + 0x70], xmm1
movups xmm1, xmmword [rsi + 0xf8]
lea rsi, [0x140000000]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
xor rbx, rax
movd xmm0, edx
pshufd xmm0, xmm0, 0
xor eax, eax
xor r8d, r8d
movq qword [rbp + 0xc0], xmm0
cmp dword [0x1405ec188], 2
movq qword [rbp + 0xd0], xmm0
movq qword [rbp + 0x80], xmm0
movq qword [rbp + 0x40], xmm0
movq qword [rbp + 0xe0], xmm0
movq qword [rbp + 0xf0], xmm0
movq qword [rbp + 0x20], xmm0
movq qword [rbp - 0x10], xmm0
mov qword [rsp + 0x20], rbx
jl 0x1401befaf
movdqa xmm3, xmmword [0x1405a6e30]
mov eax, 8
movdqa xmm4, xmmword [0x1405a6e80]
movdqa xmm0, xmm3
movdqa xmm1, xmmword [rbp + 0x160]
mov r8d, eax
movdqa xmm2, xmmword [0x1405a6e50]
pslld xmm0, 4
paddd xmm2, xmm3
movsd xmm1, xmm0
pslld xmm2, 4
movdqa xmm0, xmmword [rbp]
movsd xmm0, xmm4
movdqa xmmword [rbp + 0x160], xmm1
paddd xmm1, xmmword [rbp - 0x10]
paddd xmm1, xmm0
movdqa xmmword [rbp], xmm0
movdqu xmm0, xmmword [rsp + 0x28]
pmovsxdq xmm1, xmm1
xorps xmm1, xmm0
movdqa xmm0, xmmword [0x1405a6e20]
paddd xmm0, xmm3
movdqu xmmword [rsp + 0x28], xmm1
movdqa xmm1, xmmword [rbp + 0x10]
pslld xmm0, 4
movsd xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x30]
movsd xmm0, xmm4
movdqa xmmword [rbp + 0x10], xmm1
paddd xmm1, xmmword [rbp + 0x20]
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x30], xmm0
movdqu xmm0, xmmword [rsp + 0x38]
pmovsxdq xmm1, xmm1
xorps xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x50]
movsd xmm0, xmm2
movdqu xmmword [rsp + 0x38], xmm1
movdqa xmm1, xmmword [rbp + 0x40]
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x50], xmm0
movdqa xmm0, xmmword [rbp + 0x60]
movsd xmm0, xmm4
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x60], xmm0
movq xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0x48]
pmovsxdq xmm2, xmm0
movdqa xmm0, xmmword [0x1405a6e70]
xorps xmm2, xmm1
movdqa xmm1, xmmword [rbp + 0x70]
paddd xmm0, xmm3
pslld xmm0, 4
movsd xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rbp + 0x70], xmm1
movsd xmm0, xmm4
paddd xmm1, xmmword [rbp + 0x80]
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x90], xmm0
movq xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0x58]
movdqu xmmword [rsp + 0x48], xmm2
pmovsxdq xmm2, xmm0
xorps xmm2, xmm1
movdqu xmmword [rsp + 0x58], xmm2
lea rcx, [rsp + 0x28]
lea rcx, [rcx + rax*8]
lea eax, [r8 + 1]
shl eax, 4
add eax, edx
movsxd rdx, eax
mov eax, reloc.WS2_32.dll_ntohs
sub eax, r8d
mov r8d, eax
nop
xor qword [rcx], rdx
lea rcx, [rcx + 8]
add rdx, 0x10
sub r8, 1
jne 0x1401befd0
movzx eax, byte [rsp + 0x29]
mov rcx, qword [rsp + 0x78]
shr rcx, 0x38
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov rcx, qword [rsi + rcx*8 + 0x558b50]
xor rcx, qword [rsi + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x32]
mov rdi, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
xor rcx, qword [rsi + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x3b]
xor rcx, qword [rsi + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x44]
xor rcx, qword [rsi + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x4d]
xor rcx, qword [rsi + rax*8 + 0x55bb50]
movzx eax, dl
xor rcx, qword [rsi + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x56]
xor rcx, qword [rsi + rax*8 + 0x55ab50]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbp - 0x80]
shr rcx, 0x38
movzx eax, r9b
mov rcx, qword [rsi + rcx*8 + 0x558b50]
xor rcx, qword [rsi + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x31]
xor rcx, qword [rsi + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x3a]
xor rcx, qword [rsi + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x43]
xor rcx, qword [rsi + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x4c]
xor rcx, qword [rsi + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x55]
xor rcx, qword [rsi + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x5e]
xor rcx, qword [rsi + rax*8 + 0x55ab50]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp - 0x78]
shr rcx, 0x38
movzx eax, r8b
mov rcx, qword [rsi + rcx*8 + 0x558b50]
xor rcx, qword [rsi + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x39]
xor rcx, qword [rsi + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x42]
xor rcx, qword [rsi + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x4b]
xor rcx, qword [rsi + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x54]
xor rcx, qword [rsi + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x5d]
xor rcx, qword [rsi + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x66]
xor rcx, qword [rsi + rax*8 + 0x55ab50]
mov qword [rbp - 0x40], rcx
mov rcx, qword [rbp - 0x70]
shr rcx, 0x38
movzx eax, dil
mov rcx, qword [rsi + rcx*8 + 0x558b50]
xor rcx, qword [rsi + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x41]
xor rcx, qword [rsi + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x4a]
xor rcx, qword [rsi + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x53]
xor rcx, qword [rsi + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x5c]
xor rcx, qword [rsi + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x65]
xor rcx, qword [rsi + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x6e]
xor rcx, qword [rsi + rax*8 + 0x55ab50]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbp - 0x68]
shr rcx, 0x38
movzx eax, r11b
mov r13, qword [rsi + rcx*8 + 0x558b50]
xor r13, qword [rsi + rax*8 + 0x55a350]
lea rcx, [0x140000000]
movzx eax, byte [rsp + 0x49]
mov rbx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
shr rdx, 0x38
xor r13, qword [rsi + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x52]
shr r9, 0x38
mov r12, qword [rsi + rdx*8 + 0x558b50]
shr r8, 0x38
xor r13, qword [rsi + rax*8 + 0x55c350]
mov r15, qword [rsi + r9*8 + 0x558b50]
movzx eax, byte [rsp + 0x5b]
mov r14, qword [rsi + r8*8 + 0x558b50]
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
xor r13, qword [rsi + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x64]
shr rdi, 0x38
xor r13, qword [rsi + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x6d]
xor r13, qword [rsi + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x76]
xor r13, qword [rsi + rax*8 + 0x55ab50]
movzx eax, bl
xor r12, qword [rsi + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x51]
xor r12, qword [rsi + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x5a]
xor r12, qword [rsi + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x63]
xor r12, qword [rsi + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x6c]
xor r12, qword [rsi + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x75]
xor r12, qword [rsi + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x7e]
xor r12, qword [rsi + rax*8 + 0x55ab50]
movzx eax, r10b
xor r15, qword [rsi + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x59]
xor r15, qword [rsi + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x62]
xor r15, qword [rsi + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x6b]
xor r15, qword [rsi + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x74]
xor r15, qword [rsi + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x7d]
xor r15, qword [rsi + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x7a]
xor r15, qword [rsi + rax*8 + 0x55ab50]
movzx eax, r9b
xor r14, qword [rsi + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x61]
xor r14, qword [rsi + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x6a]
xor r14, qword [rsi + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x73]
xor r14, qword [rsi + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x7c]
xor r14, qword [rsi + rax*8 + 0x55b350]
movzx eax, byte [rbp - 0x7b]
xor r14, qword [rsi + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x72]
xor r14, qword [rsi + rax*8 + 0x55ab50]
mov rsi, qword [rsi + rdi*8 + 0x558b50]
movzx eax, r8b
xor rsi, qword [rcx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x69]
xor rsi, qword [rcx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x72]
xor rsi, qword [rcx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x7b]
xor rsi, qword [rcx + rax*8 + 0x559350]
movzx eax, byte [rbp - 0x7c]
xor rsi, qword [rcx + rax*8 + 0x55b350]
movzx eax, byte [rbp - 0x73]
xor rsi, qword [rcx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x6a]
xor rsi, qword [rcx + rax*8 + 0x55ab50]
mov rdx, qword [rsp + 0x68]
shr r11, 0x38
shr r10, 0x38
shr r9, 0x38
movzx eax, dl
mov rdi, qword [rcx + r11*8 + 0x558b50]
lea r11, [0x140000000]
shr rbx, 0x38
shr r8, 0x38
xor rdi, qword [rcx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x71]
mov r11, qword [r11 + rbx*8 + 0x558b50]
lea rbx, [0x140000000]
mov r10, qword [rbx + r10*8 + 0x558b50]
mov r9, qword [rbx + r9*8 + 0x558b50]
xor rdi, qword [rcx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x7a]
mov r8, qword [rbx + r8*8 + 0x558b50]
xor rdi, qword [rcx + rax*8 + 0x55c350]
movzx eax, byte [rbp - 0x7d]
xor rdi, qword [rcx + rax*8 + 0x559350]
movzx eax, byte [rbp - 0x74]
xor rdi, qword [rcx + rax*8 + 0x55b350]
movzx eax, byte [rbp - 0x6b]
xor rdi, qword [rcx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x62]
xor rdi, qword [rcx + rax*8 + 0x55ab50]
mov rcx, qword [rsp + 0x70]
movzx eax, cl
xor r11, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x79]
xor r11, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rbp - 0x7e]
xor r11, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rbp - 0x75]
xor r11, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rbp - 0x6c]
xor r11, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x26]
xor r11, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rbp - 0x63]
xor r11, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x7f]
xor r10, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rbp - 0x76]
xor r10, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rbp - 0x6d]
xor r10, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x25]
xor r10, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x64]
xor r10, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x2e]
xor r10, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rsp + 0x78]
xor r10, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rbp - 0x77]
xor r9, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rbp - 0x6e]
xor r9, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x24]
xor r9, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rbp - 0x65]
xor r9, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x2d]
xor r9, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x36]
xor r9, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rbp - 0x80]
xor r9, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rbp - 0x6f]
xor r8, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x23]
xor r8, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rbp - 0x66]
xor r8, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x2c]
xor r8, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x35]
xor r8, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x3e]
shr rdx, 0x38
shr rcx, 0x38
mov qword [rsp + 0x50], r15
xor r8, qword [rbx + rax*8 + 0x55ab50]
mov rdx, qword [rbx + rdx*8 + 0x558b50]
mov rcx, qword [rbx + rcx*8 + 0x558b50]
movzx eax, byte [rbp - 0x78]
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rdi
xor r8, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x22]
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x80], r9
xor rdx, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rbp - 0x67]
mov qword [rbp - 0x78], r8
xor rdx, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x2b]
xor rdx, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x34]
xor rdx, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x3d]
xor rdx, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x46]
xor rdx, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rbp - 0x70]
xor rdx, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x21]
mov qword [rbp - 0x70], rdx
xor rcx, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x2a]
xor rcx, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x33]
xor rcx, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x3c]
xor rcx, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x45]
mov qword [rsp + 0x40], r13
xor rcx, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x4e]
mov qword [rsp + 0x48], r12
xor rcx, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rbp - 0x68]
xor rcx, qword [rbx + rax*8 + 0x55a350]
cmp dword [0x1405ec188], 2
mov rax, qword [rbp - 0x50]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x68], rcx
jl 0x1401bf8c7
movdqa xmm5, xmmword [0x1405a6df0]
lea rax, [rsp + 0x30]
movdqa xmm6, xmmword [0x1405a6e30]
mov edx, 4
movdqa xmm9, xmmword [rbp + 0xc0]
movdqa xmm10, xmmword [rbp + 0xd0]
movdqa xmm11, xmmword [rbp + 0xe0]
movdqa xmm12, xmmword [rbp + 0xf0]
movq qword [rbp + 0xa0], xmm5
movdqa xmm7, xmmword [rbp + 0xa0]
movq qword [rbp + 0xb0], xmm5
movdqa xmm8, xmmword [rbp + 0xb0]
nop
movdqa xmm2, xmmword [rbp + 0x100]
lea ecx, [rdx - 4]
movd xmm0, ecx
lea rax, [rax + 0x40]
pshufd xmm0, xmm0, 0
lea ecx, [rdx - 2]
movq xmm4, xmm6
movq xmm1, xmm5
paddd xmm0, xmm4
movq xmm3, xmm5
pslld xmm0, 4
movsd xmm2, xmm0
movdqa xmm0, xmmword [rbp + 0x110]
movsd xmm0, xmm1
movdqa xmmword [rbp + 0x100], xmm2
movdqa xmmword [rbp + 0x110], xmm0
paddd xmm2, xmm12
paddd xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x50]
pmovsxdq xmm1, xmm2
xorps xmm1, xmm0
movd xmm2, edx
movdqu xmmword [rax - 0x50], xmm1
movdqa xmm1, xmmword [rbp + 0x120]
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movd xmm0, ecx
pshufd xmm0, xmm0, 0
lea ecx, [rdx + 2]
paddd xmm0, xmm4
pslld xmm2, 4
pslld xmm0, 4
add edx, 8
movsd xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x130]
movdqa xmmword [rbp + 0x120], xmm1
movsd xmm0, xmm3
paddd xmm1, xmm11
movdqa xmmword [rbp + 0x130], xmm0
paddd xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
pmovsxdq xmm1, xmm1
xorps xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x140]
movsd xmm0, xmm2
movdqu xmmword [rax - 0x40], xmm1
movdqa xmmword [rbp + 0x140], xmm0
movdqa xmm1, xmm10
paddd xmm1, xmm0
paddd xmm1, xmm8
movq xmm0, xmm1
movdqu xmm1, xmmword [rax - 0x30]
pmovsxdq xmm2, xmm0
movdqa xmm0, xmmword [rbp + 0x150]
xorps xmm2, xmm1
movdqu xmmword [rax - 0x30], xmm2
movd xmm1, ecx
movdqa xmm2, xmm9
pshufd xmm1, xmm1, 0
lea ecx, [rdx - 4]
paddd xmm1, xmm4
pslld xmm1, 4
movsd xmm0, xmm1
movdqa xmmword [rbp + 0x150], xmm0
paddd xmm2, xmm0
paddd xmm2, xmm7
movq xmm0, xmm2
movdqu xmm1, xmmword [rax - 0x20]
pmovsxdq xmm2, xmm0
xorps xmm2, xmm1
movdqu xmmword [rax - 0x20], xmm2
cmp ecx, 0x10
jl 0x1401bf760
jmp 0x1401bf8f1
mov rcx, qword [rbp - 0x58]
lea rax, [rsp + 0x20]
inc rcx
mov edx, reloc.WS2_32.dll_recv
nop dword [rax + rax]
xor qword [rax], rcx
lea rax, [rax + 8]
add rcx, 0x10
sub rdx, 1
jne 0x1401bf8e0
movzx eax, byte [rsp + 0x29]
mov rcx, qword [rsp + 0x78]
shr rcx, 0x38
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov rcx, qword [rbx + rcx*8 + 0x558b50]
xor rcx, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x32]
mov rdi, qword [rsp + 0x38]
mov r13, qword [rbp - 0x68]
mov r11, qword [rsp + 0x40]
xor rcx, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x3b]
xor rcx, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x44]
xor rcx, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x4d]
xor rcx, qword [rbx + rax*8 + 0x55bb50]
movzx eax, dl
xor rcx, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x56]
xor rcx, qword [rbx + rax*8 + 0x55ab50]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbp - 0x80]
shr rcx, 0x38
movzx eax, r9b
mov rcx, qword [rbx + rcx*8 + 0x558b50]
xor rcx, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x31]
xor rcx, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x3a]
xor rcx, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x43]
xor rcx, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x4c]
xor rcx, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x55]
xor rcx, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x5e]
xor rcx, qword [rbx + rax*8 + 0x55ab50]
mov qword [rbp - 0x40], rcx
mov rcx, qword [rbp - 0x78]
shr rcx, 0x38
movzx eax, r8b
mov rcx, qword [rbx + rcx*8 + 0x558b50]
xor rcx, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x39]
xor rcx, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x42]
xor rcx, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x4b]
xor rcx, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x54]
xor rcx, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x5d]
xor rcx, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x66]
xor rcx, qword [rbx + rax*8 + 0x55ab50]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp - 0x70]
shr rcx, 0x38
movzx eax, dil
mov rcx, qword [rbx + rcx*8 + 0x558b50]
xor rcx, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x41]
xor rcx, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x4a]
xor rcx, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x53]
xor rcx, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x5c]
xor rcx, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x65]
xor rcx, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x6e]
xor rcx, qword [rbx + rax*8 + 0x55ab50]
mov qword [rbp - 0x50], rcx
mov rcx, r13
shr rcx, 0x38
movzx eax, r11b
mov rcx, qword [rbx + rcx*8 + 0x558b50]
xor rcx, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x49]
mov r10, qword [rsp + 0x50]
shr rdx, 0x38
shr r9, 0x38
xor rcx, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x52]
shr r8, 0x38
shr rdi, 0x38
xor rcx, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x5b]
xor rcx, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x64]
xor rcx, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x6d]
xor rcx, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x76]
xor rcx, qword [rbx + rax*8 + 0x55ab50]
mov rbx, qword [rsp + 0x48]
movzx eax, bl
mov qword [rbp - 0x30], rcx
lea rcx, [0x140000000]
mov r12, qword [rcx + rdx*8 + 0x558b50]
mov r15, qword [rcx + r9*8 + 0x558b50]
xor r12, qword [rcx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x51]
mov r14, qword [rcx + r8*8 + 0x558b50]
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
xor r12, qword [rcx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x5a]
mov rsi, qword [rcx + rdi*8 + 0x558b50]
xor r12, qword [rcx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x63]
xor r12, qword [rcx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x6c]
xor r12, qword [rcx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x75]
xor r12, qword [rcx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x7e]
xor r12, qword [rcx + rax*8 + 0x55ab50]
movzx eax, r10b
xor r15, qword [rcx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x59]
xor r15, qword [rcx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x62]
xor r15, qword [rcx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x6b]
xor r15, qword [rcx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x74]
xor r15, qword [rcx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x7d]
xor r15, qword [rcx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x7a]
xor r15, qword [rcx + rax*8 + 0x55ab50]
movzx eax, r9b
xor r14, qword [rcx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x61]
xor r14, qword [rcx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x6a]
xor r14, qword [rcx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x73]
xor r14, qword [rcx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x7c]
xor r14, qword [rcx + rax*8 + 0x55b350]
movzx eax, byte [rbp - 0x7b]
xor r14, qword [rcx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x72]
xor r14, qword [rcx + rax*8 + 0x55ab50]
movzx eax, r8b
xor rsi, qword [rcx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x69]
xor rsi, qword [rcx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x72]
xor rsi, qword [rcx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x7b]
xor rsi, qword [rcx + rax*8 + 0x559350]
movzx eax, byte [rbp - 0x7c]
xor rsi, qword [rcx + rax*8 + 0x55b350]
movzx eax, byte [rbp - 0x73]
xor rsi, qword [rcx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x6a]
mov rdx, qword [rsp + 0x68]
shr r11, 0x38
shr r10, 0x38
xor rsi, qword [rcx + rax*8 + 0x55ab50]
shr r9, 0x38
mov rdi, qword [rcx + r11*8 + 0x558b50]
lea r11, [0x140000000]
movzx eax, dl
shr rbx, 0x38
shr r8, 0x38
xor rdi, qword [rcx + rax*8 + 0x55a350]
mov r11, qword [r11 + rbx*8 + 0x558b50]
lea rbx, [0x140000000]
mov r10, qword [rbx + r10*8 + 0x558b50]
mov r9, qword [rbx + r9*8 + 0x558b50]
movzx eax, byte [rsp + 0x71]
mov r8, qword [rbx + r8*8 + 0x558b50]
xor rdi, qword [rcx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x7a]
xor rdi, qword [rcx + rax*8 + 0x55c350]
movzx eax, byte [rbp - 0x7d]
xor rdi, qword [rcx + rax*8 + 0x559350]
movzx eax, byte [rbp - 0x74]
xor rdi, qword [rcx + rax*8 + 0x55b350]
movzx eax, byte [rbp - 0x6b]
xor rdi, qword [rcx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x62]
xor rdi, qword [rcx + rax*8 + 0x55ab50]
mov rcx, qword [rsp + 0x70]
movzx eax, cl
xor r11, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x79]
xor r11, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rbp - 0x7e]
xor r11, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rbp - 0x75]
xor r11, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rbp - 0x6c]
xor r11, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x26]
xor r11, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rbp - 0x63]
xor r11, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x7f]
xor r10, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rbp - 0x76]
xor r10, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rbp - 0x6d]
xor r10, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x25]
xor r10, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rbp - 0x64]
xor r10, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x2e]
xor r10, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rsp + 0x78]
xor r10, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rbp - 0x77]
xor r9, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rbp - 0x6e]
xor r9, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x24]
xor r9, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rbp - 0x65]
xor r9, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x2d]
xor r9, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x36]
xor r9, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rbp - 0x80]
xor r9, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rbp - 0x6f]
xor r8, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x23]
xor r8, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rbp - 0x66]
xor r8, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x2c]
xor r8, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x35]
shr rdx, 0x38
shr rcx, 0x38
mov qword [rsp + 0x60], rsi
lea rsi, [0x140000000]
xor r8, qword [rbx + rax*8 + 0x55bb50]
mov rdx, qword [rbx + rdx*8 + 0x558b50]
mov rcx, qword [rbx + rcx*8 + 0x558b50]
movzx eax, byte [rsp + 0x3e]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x68], rdi
xor r8, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rbp - 0x78]
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x80], r9
xor r8, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x22]
mov qword [rbp - 0x78], r8
xor rdx, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rbp - 0x67]
xor rdx, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x2b]
xor rdx, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x34]
xor rdx, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x3d]
xor rdx, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x46]
xor rdx, qword [rbx + rax*8 + 0x55ab50]
movzx eax, byte [rbp - 0x70]
xor rdx, qword [rbx + rax*8 + 0x55a350]
movzx eax, byte [rsp + 0x21]
mov qword [rbp - 0x70], rdx
mov edx, dword [rbp - 0x60]
add edx, 2
xor rcx, qword [rbx + rax*8 + 0x559b50]
movzx eax, byte [rsp + 0x2a]
mov dword [rbp - 0x60], edx
xor rcx, qword [rbx + rax*8 + 0x55c350]
movzx eax, byte [rsp + 0x33]
xor rcx, qword [rbx + rax*8 + 0x559350]
movzx eax, byte [rsp + 0x3c]
xor rcx, qword [rbx + rax*8 + 0x55b350]
movzx eax, byte [rsp + 0x45]
xor rcx, qword [rbx + rax*8 + 0x55bb50]
movzx eax, byte [rsp + 0x4e]
mov qword [rsp + 0x48], r12
xor rcx, qword [rbx + rax*8 + 0x55ab50]
movzx eax, r13b
xor rcx, qword [rbx + rax*8 + 0x55a350]
mov rax, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x50]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp - 0x58]
add rax, 2
mov qword [rsp + 0x20], rbx
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x58], rax
cmp edx, 0xe
jl 0x1401bee02
xor edx, edx
mov eax, edx
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rax + 0x170]
movdqu xmm1, xmmword [rsp + rax + 0x20]
xorps xmm1, xmm0
movdqu xmmword [rbp + rax + 0x170], xmm1
movdqu xmm0, xmmword [rbp + rax + 0x180]
movdqu xmm1, xmmword [rsp + rax + 0x30]
xorps xmm1, xmm0
movdqu xmmword [rbp + rax + 0x180], xmm1
movdqu xmm0, xmmword [rbp + rax + 0x190]
movdqu xmm1, xmmword [rsp + rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rbp + rax + 0x190], xmm1
movdqu xmm0, xmmword [rbp + rax + 0x1a0]
movdqu xmm1, xmmword [rsp + rax + 0x50]
xorps xmm1, xmm0
movdqu xmmword [rbp + rax + 0x1a0], xmm1
add rax, 0x40
cmp rax, 0x80
jb 0x1401c0040
mov rax, qword [rbp + 0x1b0]
movabs rcx, 0x2000000000000
mov qword [rbp + 0x1f0], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x1f8], rax
mov rax, qword [rbp + 0x1c0]
movups xmm0, xmmword [rbp + 0x1f0]
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x208], rax
mov rax, qword [rbp + 0x1d0]
movups xmm1, xmmword [rbp + 0x200]
mov qword [rbp + 0x210], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x218], rax
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x220], rax
mov rax, qword [rbp + 0x1e8]
mov qword [rbp + 0x228], rax
mov rax, qword [rbp - 0x28]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rbp + 0x210]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rbp + 0x220]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm1
mov rax, qword [rbp - 0x20]
mov qword [rax + 0x80], rdx
mov qword [rax + 0x88], rdx
mov qword [rax + 0x90], rdx
mov qword [rax + 0x98], rdx
mov qword [rax + 0xa0], rdx
mov qword [rax + 0xa8], rdx
mov qword [rax + 0xb0], rdx
mov qword [rax + 0xb8], rdx
mov qword [rax + 0xc0], rdx
mov qword [rax + 0xc8], rdx
mov qword [rax + 0xd0], rdx
mov qword [rax + 0xd8], rdx
mov qword [rax + 0xe0], rdx
mov qword [rax + 0xe8], rdx
mov qword [rax + 0xf0], rdx
mov qword [rax + 0xf8], rdx
mov qword [rax + 0x100], rcx
mov qword [rax + 0x108], rdx
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.1403ff380
lea r11, [rsp + 0x400]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret