Function at 0x1400101a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x250]
sub rsp, 0x350
mov rax, qword [0x1401d4770]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov rbx, qword [rcx + 0x70]
mov r13, rdx
mov r14, qword [rcx + 0xd8]
mov eax, r8d
shr eax, 8
mov rsi, rcx
mov byte [rsp + 0x39], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x3a], al
mov eax, r8d
mov qword [rsp + 0x28], rdx
mov rdx, qword [rcx + 0xc0]
shr eax, 0x18
add rbx, rdx
sub r14, rdx
mov byte [rsp + 0x3b], al
lea rdx, [rsp + 0x40]
mov byte [rsp + 0x38], r8b
call fcn.14000fcf0
mov rax, qword [rsi + 0x148]
lea r15, [r14 + 2]
mov r12, qword [rsi + 0xc8]
mov rdi, qword [rsi + 0x258]
dec r12
add r15, qword [rax + 0x78]
test rdi, rdi
je 0x140010346
cmp rdi, r14
ja 0x140010346
cmp rdi, r12
jae 0x140010346
mov rax, r12
sub rax, rdi
cmp rax, 0x120
ja 0x140010346
sub r12d, edi
lea rdx, [rdi + rbx]
movsxd r8, r12d
lea rcx, [rbp + 0x120]
call fcn.140145200
movups xmm0, xmmword [rsp + 0x40]
mov eax, dword [rsp + 0x38]
lea rcx, [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x50]
sub r15, rdi
mov r8d, 0x80
sub r14, rdi
mov edx, r12d
mov dword [rbp + r14 + 0x120], eax
lea rax, [rsi + 0x190]
movups xmmword [rbp + r15 + 0x120], xmm0
movups xmmword [rbp + r15 + 0x130], xmm1
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm0, xmmword [rax + 0x70]
add rax, r8
lea r8, [rsp + 0x60]
movups xmmword [rcx - 0x10], xmm0
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rcx], xmm1
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm0
movups xmm0, xmmword [rax + 0x30]
mov rax, qword [rax + 0x40]
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x30], xmm0
mov qword [rcx + 0x40], rax
lea rcx, [rbp + 0x120]
call fcn.140024cb0
jmp 0x1400106b6
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0xc8
call fcn.140145ba0
xor r13d, r13d
mov r10d, 0x88
mov edi, r13d
cmp r12d, r10d
jl 0x1400105a5
mov eax, 0xf0f0f0f1
mul r12d
shr edx, 7
mov eax, edx
mov qword [rsp + 0x30], rax
imul eax, edx, 0xffffff78
add r12d, eax
mov qword [rsp + 0x20], r12
nop dword [rax]
movsxd r8, edi
lea r12, [rsp + 0x60]
sub r12, r8
mov r11d, r13d
mov esi, reloc.WS2_32.dll_recvfrom
mov eax, r15d
nop word [rax + rax]
lea r10d, [rdi + r11*8]
mov ecx, r10d
sub ecx, r14d
cmp ecx, 4
jae 0x1400103c6
movzx edx, byte [rsp + rcx + 0x38]
jmp 0x1400103e0
mov ecx, r10d
mov eax, r15d
sub ecx, r15d
cmp ecx, 0x20
jae 0x1400103db
movzx edx, byte [rsp + rcx + 0x40]
jmp 0x1400103e0
movzx edx, byte [r8 + rbx]
lea ecx, [r10 + 1]
movzx edx, dl
mov r9d, ecx
sub r9d, r14d
cmp r9d, 4
jae 0x1400103fb
movzx r9d, byte [rsp + r9 + 0x38]
jmp 0x140010410
sub ecx, eax
cmp ecx, 0x20
jae 0x14001040a
movzx r9d, byte [rsp + rcx + 0x40]
jmp 0x140010410
movzx r9d, byte [r8 + rbx + 1]
movzx ecx, r9b
shl rcx, 8
or rdx, rcx
lea ecx, [r10 + 2]
mov r9d, ecx
sub r9d, r14d
cmp r9d, 4
jae 0x140010433
movzx r9d, byte [rsp + r9 + 0x38]
jmp 0x140010448
sub ecx, eax
cmp ecx, 0x20
jae 0x140010442
movzx r9d, byte [rsp + rcx + 0x40]
jmp 0x140010448
movzx r9d, byte [r8 + rbx + 2]
movzx ecx, r9b
shl rcx, 0x10
or rdx, rcx
lea ecx, [r10 + 3]
mov r9d, ecx
sub r9d, r14d
cmp r9d, 4
jae 0x14001046b
movzx r9d, byte [rsp + r9 + 0x38]
jmp 0x140010480
sub ecx, eax
cmp ecx, 0x20
jae 0x14001047a
movzx r9d, byte [rsp + rcx + 0x40]
jmp 0x140010480
movzx r9d, byte [r8 + rbx + 3]
movzx ecx, r9b
shl rcx, 0x18
or rdx, rcx
lea ecx, [r10 + 4]
mov r9d, ecx
sub r9d, r14d
cmp r9d, 4
jae 0x1400104a3
movzx r9d, byte [rsp + r9 + 0x38]
jmp 0x1400104b8
sub ecx, eax
cmp ecx, 0x20
jae 0x1400104b2
movzx r9d, byte [rsp + rcx + 0x40]
jmp 0x1400104b8
movzx r9d, byte [r8 + rbx + 4]
movzx ecx, r9b
shl rcx, 0x20
or rdx, rcx
lea ecx, [r10 + 5]
mov r9d, ecx
sub r9d, r14d
cmp r9d, 4
jae 0x1400104db
movzx r9d, byte [rsp + r9 + 0x38]
jmp 0x1400104f0
sub ecx, eax
cmp ecx, 0x20
jae 0x1400104ea
movzx r9d, byte [rsp + rcx + 0x40]
jmp 0x1400104f0
movzx r9d, byte [r8 + rbx + 5]
movzx ecx, r9b
shl rcx, 0x28
or rdx, rcx
lea ecx, [r10 + 6]
mov r9d, ecx
sub r9d, r14d
cmp r9d, 4
jae 0x140010513
movzx r9d, byte [rsp + r9 + 0x38]
jmp 0x140010528
sub ecx, eax
cmp ecx, 0x20
jae 0x140010522
movzx r9d, byte [rsp + rcx + 0x40]
jmp 0x140010528
movzx r9d, byte [r8 + rbx + 6]
movzx ecx, r9b
shl rcx, 0x30
or rdx, rcx
lea ecx, [r10 + 7]
mov r9d, ecx
sub r9d, r14d
cmp r9d, 4
jae 0x14001054e
movzx ecx, byte [rsp + r9 + 0x38]
mov eax, r15d
jmp 0x140010562
sub ecx, eax
cmp ecx, 0x20
jae 0x14001055c
movzx ecx, byte [rsp + rcx + 0x40]
jmp 0x140010562
movzx ecx, byte [r8 + rbx + 7]
movzx ecx, cl
inc r11d
shl rcx, 0x38
or rdx, rcx
xor qword [r8 + r12], rdx
add r8, 8
sub rsi, 1
jne 0x1400103b0
lea rcx, [rsp + 0x60]
call fcn.1400244c0
mov r10d, 0x88
add edi, r10d
sub qword [rsp + 0x30], 1
jne 0x140010390
mov r12, qword [rsp + 0x20]
movsxd r8, r12d
test r12d, r12d
jle 0x1400105ee
mov rcx, r13
movsxd r9, edi
mov eax, edi
sub eax, r14d
cmp eax, 4
jae 0x1400105c4
movzx edx, byte [rsp + rax + 0x38]
jmp 0x1400105dd
mov eax, edi
sub eax, r15d
cmp eax, 0x20
jae 0x1400105d5
movzx edx, byte [rsp + rax + 0x40]
jmp 0x1400105dd
lea rax, [r9 + rcx]
movzx edx, byte [rax + rbx]
mov byte [rbp + rcx + 0x90], dl
inc edi
inc rcx
cmp rcx, r8
jl 0x1400105b3
inc r12d
mov byte [rbp + r8 + 0x90], 1
movsxd rax, r12d
lea rcx, [rbp + 0x90]
sub r10d, r12d
add rcx, rax
movsxd r8, r10d
xor edx, edx
call fcn.140145ba0
or byte [rbp + 0x117], 0x80
mov r8d, 0x80
movdqu xmm0, xmmword [rsp + r13 + 0x60]
movdqu xmm1, xmmword [rbp + r13 + 0x90]
pxor xmm1, xmm0
movdqu xmmword [rsp + r13 + 0x60], xmm1
movdqu xmm0, xmmword [rsp + r13 + 0x70]
movdqu xmm1, xmmword [rbp + r13 + 0xa0]
pxor xmm1, xmm0
movdqu xmmword [rsp + r13 + 0x70], xmm1
movdqu xmm0, xmmword [rbp + r13 - 0x80]
movdqu xmm1, xmmword [rbp + r13 + 0xb0]
pxor xmm1, xmm0
movdqu xmmword [rbp + r13 - 0x80], xmm1
movdqu xmm0, xmmword [rbp + r13 - 0x70]
movdqu xmm1, xmmword [rbp + r13 + 0xc0]
pxor xmm1, xmm0
movdqu xmmword [rbp + r13 - 0x70], xmm1
add r13, 0x40
cmp r13, r8
jl 0x140010621
mov rax, qword [rbp + r8 + 0x90]
lea rcx, [rsp + 0x60]
xor qword [rsp + r8 + 0x60], rax
call fcn.1400244c0
mov r13, qword [rsp + 0x28]
movups xmm1, xmmword [rsp + 0x70]
lea rax, [rbp + 0x30]
movups xmm0, xmmword [rsp + 0x60]
lea rcx, [rsp + 0x60]
movups xmmword [rbp + 0x40], xmm1
xor edx, edx
movups xmm1, xmmword [0x1401a92e0]
mov r8d, 0xc8
mov dword [rsp + 0x38], 0x60
movups xmmword [rbp + 0x30], xmm0
movups xmm0, xmmword [0x1401a92d0]
mov qword [rsp + 0x30], rax
movups xmmword [rbp + 0x60], xmm1
xorps xmm1, xmm1
movups xmmword [rbp + 0x50], xmm0
xorps xmm0, xmm0
movups xmmword [r13], xmm1
movups xmmword [r13 + 0x10], xmm1
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
call fcn.140145ba0
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140024b70
mov edx, dword [rsp + 0x38]
lea r8, [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
call fcn.140024cb0
movups xmm0, xmmword [rsp + 0x60]
mov rax, r13
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm1
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.140140c60
mov rbx, qword [rsp + 0x3a8]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret