Function at 0x1401a0530
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x2c0]
mov eax, 0x3c0
call fcn.1400b17d0
sub rsp, rax
mov rax, qword [0x14021d0b8]
xor rax, rsp
mov qword [rbp + 0x290], rax
mov rax, qword [rbp + 0x320]
mov r13d, Ordinal_41
mov rbx, qword [rbp + 0x330]
mov r15d, 8
mov qword [rsp + 0x50], rax
mov rdi, r8
mov rax, qword [rbp + 0x338]
mov r14, rcx
mov qword [rbp - 0x78], rax
mov esi, 0x40
mov qword [rsp + 0x30], r9
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x80], r13
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x20], 1
cmp rbx, 0x100000
jb 0x1401a05d5
lea r8d, [rsi + 0x6a]
lea rdx, str.ssl_s3_cbc.c
lea rcx, str.assertion_failed:_data_plus_mac_plus_padding_size___1024__1024
call fcn.1400c7d80
mov rcx, r14
mov qword [rsp + 0x3b8], r12
call fcn.1400be310
mov rcx, rax
call fcn.1400b6950
mov ecx, eax
cmp eax, 0x2a1
jg 0x1401a06f9
cmp eax, 0x2a1
je 0x1401a06b5
cmp eax, 4
je 0x1401a0677
cmp eax, esi
je 0x1401a0648
cmp eax, 0x2a0
jne 0x1401a0706
lea rcx, [rbp - 0x20]
call fcn.1400ba980
test eax, eax
jle 0x1401a0e37
mov r12d, reloc.WLDAP32.dll_Ordinal_32
lea rcx, [0x1401a1080]
mov qword [rsp + 0x48], r12
lea rax, [0x1400ba9f0]
jmp 0x1401a0796
lea rcx, [rbp - 0x20]
call fcn.1401122b0
test eax, eax
jle 0x1401a0e37
mov r12d, reloc.WS2_32.dll_sendto
lea rcx, [0x1401a0ff0]
mov qword [rsp + 0x48], r12
lea rax, [0x140112300]
jmp 0x1401a0796
lea rcx, [rbp - 0x20]
call fcn.1400c2c10
test eax, eax
jle 0x1401a0e37
mov r12d, reloc.WS2_32.dll_recv
mov byte [rsp + 0x20], 0
mov r13d, Ordinal_50
mov qword [rsp + 0x48], r12
mov qword [rbp - 0x80], r13
lea rcx, [0x1401a0f70]
lea rax, [0x1400c2c60]
jmp 0x1401a0796
lea rcx, [rbp - 0x20]
call fcn.140112450
test eax, eax
jle 0x1401a0e37
mov r12d, Ordinal_50
lea rax, [0x1401a1160]
mov r15d, reloc.WS2_32.dll_recv
mov qword [rsp + 0x40], rax
lea rax, [0x140112b00]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x38], r15
lea esi, [r12 + 0x50]
jmp 0x1401a079b
sub ecx, 0x2a2
je 0x1401a075f
cmp ecx, 1
je 0x1401a0733
mov r8d, 0xe8
lea rdx, str.ssl_s3_cbc.c
lea rcx, str.assertion_failed:_0
call fcn.1400c7d80
test rdi, rdi
je 0x1401a0e37
xor r13d, r13d
mov qword [rdi], r13
jmp 0x1401a0e37
lea rcx, [rbp - 0x20]
call fcn.1400ba5f0
test eax, eax
jle 0x1401a0e37
mov r12d, Ordinal_32
lea rcx, [0x1401a1080]
mov qword [rsp + 0x48], r12
lea rax, [0x1400ba9f0]
jmp 0x1401a0796
lea rcx, [rbp - 0x20]
call fcn.140112a70
test eax, eax
jle 0x1401a0e37
mov r15d, reloc.WS2_32.dll_recv
mov qword [rsp + 0x48], rsi
mov r12, rsi
mov qword [rsp + 0x38], r15
lea rcx, [0x1401a1160]
mov esi, 0x80
lea rax, [0x140112b00]
mov qword [rsp + 0x40], rcx
movzx r11d, byte [rbp + 0x348]
mov r14d, reloc.WS2_32.dll_listen
mov qword [rsp + 0x28], rax
test r11b, r11b
je 0x1401a07c1
mov r14, qword [rbp + 0x340]
add r14, 0xb
add r14, r13
mov rdi, qword [rbp + 0x328]
test r11b, r11b
mov eax, 2
mov r10d, 6
cmovne r10d, eax
mov r8, r14
xor edx, edx
mov qword [rsp + 0x70], r10
sub r8, r12
dec rbx
add rdi, r8
xor r13d, r13d
mov ecx, r13d
mov qword [rsp + 0x58], r13
lea rax, [r8 + r15]
add rax, rsi
add rax, rbx
mov ebx, r13d
div rsi
xor edx, edx
mov r9, rax
mov rax, rdi
div rsi
mov qword [rsp + 0x78], rdx
xor edx, edx
mov qword [rbp - 0x70], rax
lea rax, [rdi + r15]
div rsi
test r11b, r11b
mov qword [rbp - 0x68], rax
setne cl
add rcx, r10
cmp r9, rcx
jbe 0x1401a0846
mov rbx, r9
sub rbx, r10
mov qword [rsp + 0x58], rbx
imul rbx, rsi
lea rdi, [rdi*8]
test r11b, r11b
jne 0x1401a0904
mov r8, rsi
lea rcx, [rbp + 0x110]
xor edx, edx
lea rdi, [rdi + rsi*8]
call fcn.1400b1fcc
mov rax, qword [rbp + 0x340]
cmp rax, 0x80
jbe 0x1401a089b
mov r8d, 0x150
lea rdx, str.ssl_s3_cbc.c
lea rcx, str.assertion_failed:_mac_secret_length___sizeof_hmac_pad_
call fcn.1400c7d80
mov rax, qword [rbp + 0x340]
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp + 0x110]
mov r8, rax
call sub.VCRUNTIME140.dll_memcpy
movdqa xmm2, xmmword [str.6666666666666666jjjjjjjjjjjjjjjj_]
mov rax, r13
nop dword [rax]
movdqu xmm0, xmmword [rbp + rax + 0x110]
pxor xmm0, xmm2
movdqu xmmword [rbp + rax + 0x110], xmm0
movdqu xmm1, xmmword [rbp + rax + 0x120]
pxor xmm1, xmm2
movdqu xmmword [rbp + rax + 0x120], xmm1
add rax, 0x20
cmp rax, rsi
jb 0x1401a08c0
lea rdx, [rbp + 0x110]
lea rcx, [rbp - 0x20]
call qword [rsp + Ordinal_41]
xor edx, edx
lea rcx, [rbp + 0xc0]
cmp byte [rsp + 0x20], r13b
je 0x1401a0954
lea r8, [r15 - 4]
call fcn.1400b1fcc
mov rax, rdi
mov byte [rbp + r15 + 0xbf], dil
shr rax, 0x18
mov byte [rbp + r15 + 0xbc], al
mov rax, rdi
shr rax, 0x10
mov byte [rbp + r15 + 0xbd], al
mov rax, rdi
shr rax, 8
mov byte [rbp + r15 + 0xbe], al
jmp 0x1401a0991
mov r8, r15
call fcn.1400b1fcc
mov rax, rdi
mov byte [rbp + r15 + 0xb8], dil
shr rax, 0x18
mov byte [rbp + r15 + 0xbb], al
mov rax, rdi
shr rax, 0x10
mov byte [rbp + r15 + 0xba], al
mov rax, rdi
shr rax, 8
mov byte [rbp + r15 + 0xb9], al
test rbx, rbx
je 0x1401a0acc
cmp byte [rbp + 0x348], r13b
je 0x1401a0a46
cmp r14, rsi
jbe 0x1401a0e37
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp - 0x20]
mov rdi, r14
sub rdi, rsi
mov qword [rsp + 0x60], rdi
call qword [rsp + Ordinal_41]
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp + 0x190]
add rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r8, rsi
lea rcx, [rbp + 0x190]
sub r8, rdi
add rcx, rdi
mov rdi, qword [rsp + 0x50]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 0x20]
call qword [rsp + Ordinal_41]
xor edx, edx
mov rax, rbx
div rsi
dec rax
cmp rax, 1
jbe 0x1401a0acc
sub rdi, qword [rsp + 0x60]
lea r15, [rax - 1]
mov r13, qword [rsp + 0x28]
add rdi, rsi
mov rdx, rdi
lea rcx, [rbp - 0x20]
call r13
add rdi, rsi
sub r15, 1
jne 0x1401a0a31
jmp 0x1401a0ac4
mov rdi, qword [rsp + 0x30]
lea r8, [rsi - 0xd]
mov rdx, qword [rsp + 0x50]
lea rcx, [rbp + 0x19d]
mov eax, dword [rdi + 8]
movsd xmm0, qword [rdi]
mov dword [rbp + 0x198], eax
movzx eax, byte [rdi + 0xc]
mov byte [rbp + 0x19c], al
movsd qword [rbp + 0x190], xmm0
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 0x20]
call qword [rsp + Ordinal_41]
xor edx, edx
mov rax, rbx
div rsi
cmp rax, 1
jbe 0x1401a0ad1
mov rdi, qword [rsp + 0x50]
lea r15, [rax - 1]
mov r13, qword [rsp + 0x28]
add rdi, 0xfffffffffffffff3
add rdi, rsi
mov rdx, rdi
lea rcx, [rbp - 0x20]
call r13
add rdi, rsi
sub r15, 1
jne 0x1401a0ab1
mov r15, qword [rsp + 0x38]
xor r13d, r13d
mov rdi, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x58]
xor eax, eax
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], rax
mov rax, qword [rsp + 0x70]
add rax, rdx
mov qword [rbp - 0x48], rax
cmp rdx, rax
ja 0x1401a0d97
mov rcx, qword [rsp + 0x78]
lea r8, [rbp + 0xc1]
mov r9, rcx
movaps xmmword [rsp + 0x3a0], xmm6
shr r9, 0x3f
mov qword [rsp + 0x38], r9
lea rax, [rcx + 1]
shr rax, 0x3f
mov qword [rsp + 0x70], rax
mov rax, rsi
sub rax, r15
mov qword [rbp - 0x60], rax
mov rax, rcx
sub rax, rsi
add rax, r8
or r8, 0xffffffffffffffff
add rax, r15
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x211]
add rax, rcx
sub r8, rcx
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x60], r8
nop word [rax + rax]
mov rax, rdx
mov r11, r13
xor rax, qword [rbp - 0x70]
lea rcx, [rax - 1]
not rax
shr rax, 0x3f
shr rcx, 0x3f
and cl, al
mov rax, rdx
xor rax, qword [rbp - 0x68]
neg cl
mov qword [rsp + 0x78], rcx
mov r13, rcx
lea r15, [rax - 1]
not rax
shr rax, 0x3f
shr r15, 0x3f
and r15b, al
neg r15b
movsx eax, r15b
movd xmm6, eax
movzx eax, r15b
punpcklbw xmm6, xmm6
not al
or al, cl
punpcklwd xmm6, xmm6
movzx r12d, al
pshufd xmm6, xmm6, 0
xor r10b, r10b
cmp rbx, r14
jae 0x1401a0c01
movzx r10d, byte [rdi + rbx]
jmp 0x1401a0c1d
mov rax, qword [rbp + 0x330]
add rax, r14
cmp rbx, rax
jae 0x1401a0c1d
mov rax, qword [rsp + 0x50]
sub rax, r14
movzx r10d, byte [rax + rbx]
lea rdi, [r8 + r11]
inc rbx
mov r8, r11
lea rcx, [rdi + 1]
shr rcx, 0x3f
xor cl, r9b
shr r8, 0x3f
movzx eax, r8b
xor al, r9b
mov r9, rdi
or cl, al
shr r9, 0x3f
xor cl, r8b
movzx eax, r13b
dec cl
movzx edx, cl
mov rcx, qword [rsp + 0x70]
and edx, eax
xor r9b, cl
movzx eax, r8b
xor al, cl
or r9b, al
movzx eax, dl
xor r9b, r8b
not al
dec r9b
and al, r10b
and r9b, r13b
and dl, 0x80
not r9b
or al, dl
and r9b, al
and r9b, r12b
cmp r11, qword [rbp - 0x60]
jb 0x1401a0ca0
mov rcx, qword [rbp - 0x58]
movzx eax, r15b
movzx ecx, byte [rdi + rcx]
and cl, al
not al
and r9b, al
or r9b, cl
mov rax, qword [rbp - 0x50]
inc r11
mov r8, qword [rsp + 0x60]
mov byte [rdi + rax], r9b
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
cmp r11, rsi
jb 0x1401a0bf2
lea rdx, [rbp + 0x210]
lea rcx, [rbp - 0x20]
call qword [rsp + Ordinal_41]
lea rdx, [rbp + 0x210]
lea rcx, [rbp - 0x20]
call qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
xor r13d, r13d
mov eax, r13d
cmp r12, 0x20
jb 0x1401a0d4f
mov rcx, r12
and rcx, 0xffffffffffffffe0
nop dword [rax]
movdqu xmm0, xmmword [rbp + rax + 0xd0]
movdqu xmm1, xmmword [rbp + rax + 0x210]
pand xmm1, xmm6
por xmm1, xmm0
movdqu xmmword [rbp + rax + 0xd0], xmm1
movdqu xmm0, xmmword [rbp + rax + 0xe0]
movdqu xmm1, xmmword [rbp + rax + 0x220]
pand xmm1, xmm6
por xmm1, xmm0
movdqu xmmword [rbp + rax + 0xe0], xmm1
add rax, 0x20
cmp rax, rcx
jb 0x1401a0d00
cmp rax, r12
jae 0x1401a0d6e
movzx ecx, byte [rbp + rax + 0x210]
and cl, r15b
or byte [rbp + rax + 0xd0], cl
inc rax
cmp rax, r12
jb 0x1401a0d54
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x38]
inc rdx
mov r8, qword [rsp + 0x60]
mov qword [rsp + 0x58], rdx
cmp rdx, qword [rbp - 0x48]
jbe 0x1401a0b90
movaps xmm6, xmmword [rsp + 0x3a0]
call fcn.1400dd630
mov rbx, rax
test rax, rax
je 0x1401a0e2f
mov rcx, qword [rbp - 0x40]
call fcn.1400be310
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call fcn.1400dd100
test eax, eax
jle 0x1401a0e2f
cmp byte [rbp + 0x348], 0
je 0x1401a0e62
mov rdi, qword [rbp - 0x80]
lea rcx, [rbp + 0x110]
mov r8, rdi
mov edx, 0x5c
call fcn.1400b1fcc
mov r8, qword [rbp + 0x340]
mov rcx, rbx
mov rdx, qword [rbp - 0x78]
call fcn.1400dd370
test eax, eax
jle 0x1401a0e2f
mov r8, rdi
lea rdx, [rbp + 0x110]
mov rcx, rbx
call fcn.1400dd370
test eax, eax
jle 0x1401a0e2f
mov r8, r12
lea rdx, [rbp + 0xd0]
mov rcx, rbx
call fcn.1400dd370
test eax, eax
jg 0x1401a0edd
mov rcx, rbx
call fcn.1400dd5f0
xor eax, eax
mov r12, qword [rsp + 0x3b8]
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.1400b1210
add rsp, 0x3c0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
movdqa xmm2, xmmword [0x1401e9900]
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + r13 + 0x110]
pxor xmm0, xmm2
movdqu xmmword [rbp + r13 + 0x110], xmm0
movdqu xmm1, xmmword [rbp + r13 + 0x120]
pxor xmm1, xmm2
movdqu xmmword [rbp + r13 + 0x120], xmm1
add r13, 0x20
cmp r13, rsi
jb 0x1401a0e70
mov r8, rsi
lea rdx, [rbp + 0x110]
mov rcx, rbx
call fcn.1400dd370
test eax, eax
jle 0x1401a0e2f
mov r8, r12
lea rdx, [rbp + 0xd0]
mov rcx, rbx
call fcn.1400dd370
test eax, eax
jle 0x1401a0e2f
mov rdx, qword [rbp - 0x38]
lea r8, [rsp + 0x68]
mov rcx, rbx
call fcn.1400dcfe0
test eax, eax
je 0x1401a0f02
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1401a0f02
mov eax, dword [rsp + 0x68]
mov qword [rcx], rax
mov rcx, rbx
call fcn.1400dd5f0
mov eax, 1
jmp 0x1401a0e39