Function at 0x14024a210
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
mov eax, 0xf0
call fcn.14012b0b0
sub rsp, rax
mov rax, qword [0x1403a8088]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rbx, qword [rsp + 0x140]
mov rdi, rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x40], r8
mov r13, r9
mov qword [rsp + 0x48], rdx
mov rsi, r8
xor r12d, r12d
call fcn.1401b2770
test r13, r13
mov rcx, rsi
cmove r13, rsi
call fcn.1401cc1a0
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
js 0x14024a62c
mov qword [rsp + 0xe8], rbp
mov ebp, dword [rsp + 0x148]
cmp ebp, 0xffffffff
jne 0x14024a2ea
mov ebp, eax
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0xd8], r15
call fcn.1401adbc0
mov rcx, rdi
lea r15d, [rax - 1]
and r15d, 7
call fcn.1401b3a10
mov ecx, r15d
mov edx, 0xff
shl edx, cl
mov edi, eax
test byte [rbx], dl
je 0x14024a31a
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x76
lea r9, [0x1403f5f48]
mov ecx, 4
lea r8d, [rdx - 0x10]
call fcn.1401bb520
jmp 0x14024a61c
cmp ebp, 0xfffffffe
jne 0x14024a2f1
jmp 0x14024a292
jge 0x14024a292
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSAGetLastError
lea r9, [0x1403f5f30]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.1401bb520
jmp 0x14024a624
test r15d, r15d
jne 0x14024a324
inc rbx
dec edi
lea eax, [rsi + 2]
add eax, ebp
cmp edi, eax
jge 0x14024a354
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], Ordinal_127
lea r9, [0x1403f5f60]
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.1401bb520
jmp 0x14024a61c
lea eax, [rdi - 1]
movsxd rcx, eax
cmp byte [rcx + rbx], 0xbc
je 0x14024a387
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], Ordinal_133
lea r9, [0x1403f5f78]
mov ecx, 4
lea r8d, [rdx - 0xf]
call fcn.1401bb520
jmp 0x14024a61c
sub edi, esi
mov qword [rsp + 0xe0], r14
dec edi
lea rdx, [0x1403f5f90]
movsxd r14, edi
mov r8d, 0x87
mov ecx, edi
lea rax, [r14 + rbx]
mov qword [rsp + 0x38], rax
call fcn.1401aa220
mov rsi, rax
test rax, rax
jne 0x14024a3e0
lea r9, [0x1403f5fa8]
mov dword [rsp + 0x20], Ordinal_142
mov edx, __WSAFDIsSet
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.1401bb520
jmp 0x14024a614
mov r8, qword [rsp + 0x38]
mov edx, edi
mov qword [rsp + 0x20], r13
mov rcx, rsi
movsxd r13, dword [rsp + 0x30]
mov r9d, r13d
call fcn.1402315b0
test eax, eax
js 0x14024a60c
mov edx, r12d
test edi, edi
jle 0x14024a48b
cmp edi, 0x20
jb 0x14024a48b
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea r8, [rcx + rsi]
cmp rsi, rax
ja 0x14024a42c
cmp r8, rbx
jae 0x14024a48b
mov ecx, edi
and ecx, 0x8000001f
jge 0x14024a43d
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, edi
mov r8, rbx
sub eax, ecx
sub r8, rsi
mov r9, rsi
movsxd r10, eax
neg r9
mov rcx, rsi
movdqu xmm0, xmmword [rcx]
add edx, 0x20
movdqu xmm1, xmmword [r8 + rcx]
lea rcx, [rcx + 0x20]
lea rax, [r9 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm1, xmmword [r8 + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x14024a453
movsxd rax, edx
cmp rax, r14
jge 0x14024a4b0
sub rbx, rsi
lea rcx, [rax + rsi]
sub r14, rax
nop dword [rax]
movzx eax, byte [rcx + rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r14, 1
jne 0x14024a4a0
test r15d, r15d
je 0x14024a4c6
mov ecx, 8
mov eax, 0xff
sub ecx, r15d
sar eax, cl
and byte [rsi], al
mov ebx, r12d
cmp byte [rsi], bl
jne 0x14024a4e1
lea ecx, [rdi - 1]
mov rax, rsi
cmp ebx, ecx
jge 0x14024a4e1
inc rax
inc ebx
cmp byte [rax], r12b
je 0x14024a4d3
movsxd rax, ebx
inc ebx
cmp byte [rax + rsi], 1
je 0x14024a513
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], __WSAFDIsSet
lea r9, [0x1403f5fc0]
mov ecx, 4
lea r8d, [rdx - 0xe]
call fcn.1401bb520
jmp 0x14024a60c
test ebp, ebp
js 0x14024a546
mov eax, edi
sub eax, ebx
cmp eax, ebp
je 0x14024a546
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x98
lea r9, [0x1403f5fd8]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.1401bb520
jmp 0x14024a60c
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x50]
xor r8d, r8d
call fcn.1401b21b0
test eax, eax
je 0x14024a60c
mov r8d, 8
lea rdx, [0x1403112d0]
lea rcx, [rsp + 0x50]
call fcn.1401b2410
test eax, eax
je 0x14024a60c
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov r8, r13
call fcn.1401b2410
test eax, eax
je 0x14024a60c
sub edi, ebx
je 0x14024a5b0
movsxd rdx, ebx
lea rcx, [rsp + 0x50]
add rdx, rsi
movsxd r8, edi
call fcn.1401b2410
test eax, eax
je 0x14024a60c
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.1401b20d0
test eax, eax
je 0x14024a60c
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x80]
mov r8, r13
call fcn.14027b470
test eax, eax
je 0x14024a606
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], Ordinal_167
lea r9, [0x1403f5ff0]
mov ecx, 4
lea r8d, [rdx - 0x2d]
call fcn.1401bb520
jmp 0x14024a60c
mov r12d, 1
mov rcx, rsi
call fcn.1401aa120
mov r14, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xe8]
lea rcx, [rsp + 0x50]
call fcn.1401b2430
mov eax, r12d
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.14012a2b0
add rsp, 0xf0
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret