Function at 0x1401a0f30
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.1400b21a0
sub rsp, rax
mov rax, qword [0x14021f0c0]
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 0x1401a0fd5
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.1400c8780
mov rcx, r14
mov qword [rsp + 0x3b8], r12
call fcn.1400bed10
mov rcx, rax
call fcn.1400b7350
mov ecx, eax
cmp eax, 0x2a1
jg 0x1401a10f9
cmp eax, 0x2a1
je 0x1401a10b5
cmp eax, 4
je 0x1401a1077
cmp eax, esi
je 0x1401a1048
cmp eax, 0x2a0
jne 0x1401a1106
lea rcx, [rbp - 0x20]
call fcn.1400bb380
test eax, eax
jle 0x1401a1837
mov r12d, reloc.WLDAP32.dll_Ordinal_32
lea rcx, [0x1401a1a80]
mov qword [rsp + 0x48], r12
lea rax, [0x1400bb3f0]
jmp 0x1401a1196
lea rcx, [rbp - 0x20]
call fcn.140112cb0
test eax, eax
jle 0x1401a1837
mov r12d, reloc.WS2_32.dll_sendto
lea rcx, [0x1401a19f0]
mov qword [rsp + 0x48], r12
lea rax, [0x140112d00]
jmp 0x1401a1196
lea rcx, [rbp - 0x20]
call fcn.1400c3610
test eax, eax
jle 0x1401a1837
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, [0x1401a1970]
lea rax, [0x1400c3660]
jmp 0x1401a1196
lea rcx, [rbp - 0x20]
call fcn.140112e50
test eax, eax
jle 0x1401a1837
mov r12d, Ordinal_50
lea rax, [0x1401a1b60]
mov r15d, reloc.WS2_32.dll_recv
mov qword [rsp + 0x40], rax
lea rax, [0x140113500]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x38], r15
lea esi, [r12 + 0x50]
jmp 0x1401a119b
sub ecx, 0x2a2
je 0x1401a115f
cmp ecx, 1
je 0x1401a1133
mov r8d, 0xe8
lea rdx, str.ssl_s3_cbc.c
lea rcx, str.assertion_failed:_0
call fcn.1400c8780
test rdi, rdi
je 0x1401a1837
xor r13d, r13d
mov qword [rdi], r13
jmp 0x1401a1837
lea rcx, [rbp - 0x20]
call fcn.1400baff0
test eax, eax
jle 0x1401a1837
mov r12d, Ordinal_30
lea rcx, [0x1401a1a80]
mov qword [rsp + 0x48], r12
lea rax, [0x1400bb3f0]
jmp 0x1401a1196
lea rcx, [rbp - 0x20]
call fcn.140113470
test eax, eax
jle 0x1401a1837
mov r15d, reloc.WS2_32.dll_recv
mov qword [rsp + 0x48], rsi
mov r12, rsi
mov qword [rsp + 0x38], r15
lea rcx, [0x1401a1b60]
mov esi, 0x80
lea rax, [0x140113500]
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 0x1401a11c1
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 0x1401a1246
mov rbx, r9
sub rbx, r10
mov qword [rsp + 0x58], rbx
imul rbx, rsi
lea rdi, [rdi*8]
test r11b, r11b
jne 0x1401a1304
mov r8, rsi
lea rcx, [rbp + 0x110]
xor edx, edx
lea rdi, [rdi + rsi*8]
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rbp + 0x340]
cmp rax, 0x80
jbe 0x1401a129b
mov r8d, 0x150
lea rdx, str.ssl_s3_cbc.c
lea rcx, str.assertion_failed:_mac_secret_length___sizeof_hmac_pad_
call fcn.1400c8780
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 0x1401a12c0
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 0x1401a1354
lea r8, [r15 - 4]
call sub.VCRUNTIME140.dll_memset
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 0x1401a1391
mov r8, r15
call sub.VCRUNTIME140.dll_memset
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 0x1401a14cc
cmp byte [rbp + 0x348], r13b
je 0x1401a1446
cmp r14, rsi
jbe 0x1401a1837
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 0x1401a14cc
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 0x1401a1431
jmp 0x1401a14c4
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 0x1401a14d1
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 0x1401a14b1
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 0x1401a1797
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 0x1401a1601
movzx r10d, byte [rdi + rbx]
jmp 0x1401a161d
mov rax, qword [rbp + 0x330]
add rax, r14
cmp rbx, rax
jae 0x1401a161d
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 0x1401a16a0
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 0x1401a15f2
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 0x1401a174f
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 0x1401a1700
cmp rax, r12
jae 0x1401a176e
movzx ecx, byte [rbp + rax + 0x210]
and cl, r15b
or byte [rbp + rax + 0xd0], cl
inc rax
cmp rax, r12
jb 0x1401a1754
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 0x1401a1590
movaps xmm6, xmmword [rsp + 0x3a0]
call fcn.1400de030
mov rbx, rax
test rax, rax
je 0x1401a182f
mov rcx, qword [rbp - 0x40]
call fcn.1400bed10
mov rdx, rax
xor r8d, r8d
mov rcx, rbx
call fcn.1400ddb00
test eax, eax
jle 0x1401a182f
cmp byte [rbp + 0x348], 0
je 0x1401a1862
mov rdi, qword [rbp - 0x80]
lea rcx, [rbp + 0x110]
mov r8, rdi
mov edx, 0x5c
call sub.VCRUNTIME140.dll_memset
mov r8, qword [rbp + 0x340]
mov rcx, rbx
mov rdx, qword [rbp - 0x78]
call fcn.1400ddd70
test eax, eax
jle 0x1401a182f
mov r8, rdi
lea rdx, [rbp + 0x110]
mov rcx, rbx
call fcn.1400ddd70
test eax, eax
jle 0x1401a182f
mov r8, r12
lea rdx, [rbp + 0xd0]
mov rcx, rbx
call fcn.1400ddd70
test eax, eax
jg 0x1401a18dd
mov rcx, rbx
call fcn.1400ddff0
xor eax, eax
mov r12, qword [rsp + 0x3b8]
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.1400b1b60
add rsp, 0x3c0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
movdqa xmm2, xmmword [0x1401eaa00]
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 0x1401a1870
mov r8, rsi
lea rdx, [rbp + 0x110]
mov rcx, rbx
call fcn.1400ddd70
test eax, eax
jle 0x1401a182f
mov r8, r12
lea rdx, [rbp + 0xd0]
mov rcx, rbx
call fcn.1400ddd70
test eax, eax
jle 0x1401a182f
mov rdx, qword [rbp - 0x38]
lea r8, [rsp + 0x68]
mov rcx, rbx
call fcn.1400dd9e0
test eax, eax
je 0x1401a1902
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1401a1902
mov eax, dword [rsp + 0x68]
mov qword [rcx], rax
mov rcx, rbx
call fcn.1400ddff0
mov eax, 1
jmp 0x1401a1839