Function at 0x1401734b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x378
mov r15, r9
mov rsi, r8
mov r14, rdx
mov rdi, rcx
mov qword [rsp + 0x108], 1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x110], xmm0
lea rcx, [rsp + 0x108]
mov r8d, 0x20
xor edx, edx
call fcn.14006f3b0
mov r12, qword [rsp + 0x3e0]
mov r8, qword [rsp + 0x108]
mov rax, qword [rsp + 0x118]
movdqu xmm0, xmmword [r12 + 0x48]
movdqu xmm1, xmmword [r12 + 0x58]
movdqu xmmword [r8 + rax + 0x10], xmm1
movdqu xmmword [r8 + rax], xmm0
lea rdx, [rax + 0x20]
mov qword [rsp + 0x118], rdx
test rax, rax
jne 0x14017409c
movzx ebx, byte [rsp + 0x3e8]
lea rax, [r14 + 0x1c8]
movdqu xmm0, xmmword [r8]
movdqu xmm1, xmmword [r8 + 0x10]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
cmp qword [rsp + 0x110], 0
je 0x140173581
mov rcx, qword [0x14031a128]
xor edx, edx
call fcn.1401f903c
test bl, bl
je 0x140173669
movabs rax, 0x14452474e574f44
cmp qword [r14 + 0x1e0], rax
jne 0x140173669
mov rbx, qword [rsi]
mov byte [rsp + 0x108], 1
mov byte [rsp + 0x10a], 0xd
mov word [rsp + 0x178], 0x1f
mov word [rsp + 0x1c0], 4
cmp byte [rbx + 0x40], 2
sete r8b
lea rdx, [rsp + 0x108]
mov rcx, rbx
call fcn.14015b490
mov byte [rbx + 0x141], 1
mov word [rdi], 8
mov rax, qword [r14]
lock dec qword [rax]
jne 0x1401735fc
mov rcx, qword [r14]
call fcn.14000b1b0
cmp byte [r14 + 0x90], 2
je 0x14017360f
lea rcx, [r14 + 0x38]
call fcn.140165450
cmp byte [r14 + 0x98], 0
jne 0x140173638
cmp qword [r14 + 0xa8], 0
je 0x140173638
mov r8, qword [r14 + 0xa0]
mov rcx, qword [0x14031a128]
xor edx, edx
call fcn.1401f903c
mov r8, qword [r14 + 0x190]
test r8, r8
je 0x140173ae9
cmp qword [r14 + 0x198], 0
je 0x140173ae9
mov rcx, qword [0x14031a128]
xor edx, edx
call fcn.1401f903c
jmp 0x140173ae9
mov qword [rsp + 0x70], rsi
mov rcx, qword [r12 + 0x38]
test rcx, rcx
mov qword [rsp + 0x48], r15
je 0x1401737f7
mov r9, rdi
mov rsi, qword [r12 + 0x28]
shl rcx, 3
lea rdx, [rcx + rcx*4]
mov ebp, 0x3f7f
mov rbx, rsi
jmp 0x1401736a6
add rdx, 0xffffffffffffffd8
je 0x1401736c5
mov rax, rbx
add rbx, 0x28
movzx edi, word [rax]
bt rbp, rdi
jb 0x1401736a0
cmp rdi, 0xe
jne 0x1401736c7
cmp word [rax + 0x20], 0x13
jne 0x1401736a0
jmp 0x1401736c7
xor eax, eax
test rax, rax
setne byte [r14 + 0x1e8]
setne bl
lea rcx, [rcx + rcx*4]
xor edx, edx
mov dword [rsp + 0x40], ebx
jmp 0x1401736f9
add rdx, 0x28
cmp rcx, rdx
je 0x14017371e
movzx eax, word [rsi + rdx]
lea rbp, [rax - 3]
cmp rbp, 0xb
jb 0x1401736f0
cmp eax, 2
jb 0x1401736f0
cmp eax, 0xe
jne 0x140173719
cmp word [rsi + rdx + 0x20], 0x14
jne 0x1401736f0
xor r15d, r15d
jmp 0x140173721
mov r15b, 1
mov r13d, r15d
xor r13b, 1
xor edx, edx
mov edi, 0x3eff
jmp 0x140173749
add rdx, 0x28
cmp rcx, rdx
je 0x140173766
movzx eax, word [rsi + rdx]
mov bpl, 1
bt rdi, rax
jb 0x140173740
cmp rax, 0xe
jne 0x140173768
cmp word [rsi + rdx + 0x20], 5
jne 0x140173740
jmp 0x140173768
xor ebp, ebp
xor edx, edx
mov edi, 0x3dff
jmp 0x140173789
add rdx, 0x28
cmp rcx, rdx
je 0x1401737f2
movzx eax, word [rsi + rdx]
movzx ebx, ax
bt rdi, rbx
jb 0x140173780
cmp rbx, 0xe
jne 0x1401737a4
cmp word [rsi + rdx + 0x20], 0x11
jne 0x140173780
cmp ax, 9
jne 0x1401737f2
mov r8, qword [rsi + rdx + 0x18]
test r8, r8
mov rdi, r9
je 0x1401737e8
mov rdx, qword [rsi + rdx + 8]
lea rax, [r8*8]
lea rax, [rax + rax*2]
mov rcx, rdx
nop dword [rax + rax]
test rax, rax
je 0x140173d52
add rax, 0xffffffffffffffe8
cmp qword [rcx + 0x10], 0
lea rcx, [rcx + 0x18]
jne 0x1401737d0
mov word [rdi], 0x1908
jmp 0x1401735eb
mov rdi, r9
jmp 0x14017380f
mov byte [r14 + 0x1e8], 0
mov r15b, 1
mov dword [rsp + 0x40], 0
xor ebp, ebp
xor r13d, r13d
mov dword [rsp + 0x3c], r15d
mov qword [rsp + 0x50], 0
lea r15, [r14 + 0x1a8]
lea rbx, [r14 + 8]
movzx r8d, byte [r14 + 0x90]
cmp r8b, 2
je 0x140173986
mov rsi, qword [r14 + 0x10]
cmp rsi, qword [r12]
jne 0x140173986
test rsi, rsi
je 0x140173afd
lea rcx, [rsi - 0x21]
cmp rcx, 0xffffffffffffffe0
jb 0x140174084
mov r9, rdi
cmp rsi, 8
jae 0x140173871
xor edi, edi
xor eax, eax
jmp 0x140173960
cmp rsi, 0x10
jae 0x1401738e4
xor edi, edi
xor eax, eax
mov rcx, rbx
mov rdx, rax
mov rax, rsi
and rax, 0xfffffffffffffff8
movzx ebx, dil
movd xmm0, ebx
mov rbx, qword [r12 + rdx + 8]
xor rbx, qword [r14 + rdx + 0x18]
movq xmm1, rbx
por xmm0, xmm1
add rdx, 8
cmp rax, rdx
jne 0x140173890
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd edi, xmm1
cmp rsi, rax
mov rbx, rcx
jne 0x140173960
jmp 0x14017397a
mov rax, rsi
and rax, 0xfffffffffffffff0
movdqu xmm1, xmmword [r14 + 0x18]
movdqu xmm0, xmmword [r12 + 8]
pxor xmm0, xmm1
pxor xmm1, xmm1
cmp rax, 0x10
je 0x140173917
movdqu xmm2, xmmword [r14 + 0x28]
movdqu xmm1, xmmword [r12 + 0x18]
pxor xmm1, xmm2
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x10
por xmm1, xmm0
movdqa xmm0, xmm1
psrlw xmm0, 8
por xmm0, xmm1
movd edi, xmm0
cmp rsi, rax
je 0x14017397a
test sil, 8
jne 0x14017387b
nop word [rax + rax]
movzx edx, byte [r12 + rax + 8]
xor dl, byte [r14 + rax + 0x18]
lea rcx, [rax + 1]
or dil, dl
mov rax, rcx
cmp rsi, rcx
jne 0x140173960
test dil, dil
mov rdi, r9
je 0x140173afd
mov rsi, qword [r14]
lea rdx, [r14 + 0xb8]
lea rcx, [rsp + 0x1e8]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x2e0], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x2f0], rax
mov qword [rsp + 0x108], rsi
lea rcx, [rsp + 0x110]
mov r8d, 0x90
mov rdx, rbx
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rsp + 0x1b0], xmm1
movups xmmword [rsp + 0x1a0], xmm0
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x1c0], rax
movups xmm0, xmmword [r14 + 0x98]
movups xmm1, xmmword [r14 + 0xa8]
movups xmmword [rsp + 0x1c8], xmm0
movups xmmword [rsp + 0x1d8], xmm1
movdqu xmm0, xmmword [r15]
movdqu xmm1, xmmword [r15 + 0x10]
movdqu xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movdqu xmmword [rsp + 0x2f8], xmm0
movups xmmword [rsp + 0x328], xmm3
movdqu xmmword [rsp + 0x318], xmm2
movdqu xmmword [rsp + 0x308], xmm1
mov eax, dword [rsp + 0x40]
mov byte [rsp + 0x338], al
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x2d8], rax
mov byte [rsp + 0x339], bpl
mov byte [rsp + 0x33a], r13b
mov rcx, qword [0x14031a128]
test rcx, rcx
jne 0x140173aa8
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401740af
mov rcx, rax
mov qword [0x14031a128], rax
mov r8d, 0x238
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401740af
mov rsi, rax
lea rdx, [rsp + 0x108]
mov r8d, 0x238
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rdi + 8], rsi
lea rax, fcn.140174a50
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x14
add rsp, 0x378
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rbx]
movzx ecx, word [rax + 8]
mov rbp, qword [rsp + 0x48]
cmp cx, word [rbp + 8]
jne 0x140173b28
movzx ecx, cx
cmp ecx, 0x178
jne 0x140173b9c
movzx ecx, word [rbp + 0xa]
cmp word [rax + 0xa], cx
je 0x140173b9c
mov word [rdi], 0x2a08
xor esi, esi
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x140173b8e
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140173b75
shl rax, 3
lea rbp, [rax + rax*2]
xor ebx, ebx
jmp 0x140173b59
add rbx, 0x18
cmp rbp, rbx
je 0x140173b75
cmp qword [rdi + rbx + 8], 0
je 0x140173b50
mov r8, qword [rdi + rbx]
mov rcx, qword [0x14031a128]
xor edx, edx
call fcn.1401f903c
jmp 0x140173b50
cmp qword [rsp + 0x58], 0
je 0x140173b8e
mov rcx, qword [0x14031a128]
xor edx, edx
mov r8, rdi
call fcn.1401f903c
test sil, sil
je 0x1401735eb
jmp 0x140173ae9
test r8b, r8b
setne al
cmp byte [rsp + 0x40], 0
setne cl
cmp al, cl
je 0x140173bc5
mov word [rdi], 0x2b08
xor esi, esi
mov rdi, qword [rsp + 0x50]
test rdi, rdi
jne 0x140173b39
jmp 0x140173b8e
movdqu xmm0, xmmword [r15]
movdqu xmm1, xmmword [r15 + 0x10]
movdqu xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [rsp + 0xb0], xmm3
movdqu xmmword [rsp + 0xa0], xmm2
movdqu xmmword [rsp + 0x90], xmm1
movdqu xmmword [rsp + 0x80], xmm0
mov rax, qword [r14 + 0x50]
mov rdx, qword [r14 + 0x60]
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xe0], xmm0
movdqu xmmword [rsp + 0xd0], xmm0
movdqu xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0x78], rbp
cmp rdx, 0x30
jne 0x1401740c0
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rdi
lea r9, [rsp + 0x80]
lea rdx, [rsp + 0xc0]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmm2, xmmword [rax + 0x20]
movdqu xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
mov rsi, qword [r14]
mov rax, qword [rsi + 0xb8]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x20]
add rcx, 0xf
and rcx, 0xfffffffffffffff0
add rcx, qword [rsi + 0xb0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 0x30
mov qword [rsp + 0x20], 0x20
lea rdx, [0x140290250]
mov r8d, 0xd
call rax
mov edi, dword [rsp + 0x3c]
mov rax, qword [rsp + 0x70]
mov r13, qword [rax]
lea rdx, [rsp + 0x78]
mov rcx, r13
call fcn.140174360
mov rdx, qword [r14 + 0x70]
mov r8, qword [r14 + 0x80]
lea rcx, [rsp + 0x108]
call fcn.140165d30
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xf0], xmm0
lea rbx, [r13 + 0x70]
mov rbp, qword [r13 + 0x70]
test rbp, rbp
je 0x140173d9f
mov rax, qword [r13 + 0x80]
test rax, rax
je 0x140173d83
shl rax, 3
lea rdi, [rax + rax*2]
xor r15d, r15d
jmp 0x140173d35
add r15, 0x18
cmp rdi, r15
je 0x140173d83
cmp qword [rbp + r15 + 8], 0
je 0x140173d2c
mov r8, qword [rbp + r15]
mov rcx, qword [0x14031a128]
xor edx, edx
call fcn.1401f903c
jmp 0x140173d2c
lea rcx, [rsp + 0x108]
call fcn.140174180
mov dword [rsp + 0x3c], r15d
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x14017381d
cmp qword [r13 + 0x78], 0
mov edi, dword [rsp + 0x3c]
je 0x140173d9f
mov r8, qword [rbx]
mov rcx, qword [0x14031a128]
xor edx, edx
call fcn.1401f903c
mov rax, qword [rsp + 0x100]
mov qword [rbx + 0x10], rax
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rbx], xmm0
test dil, dil
je 0x140173f17
movzx edi, byte [r14 + 0x1e8]
lea rdx, [r14 + 0xb8]
lea rcx, [rsp + 0x260]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x108], rsi
movups xmm0, xmmword [rsp + 0x78]
movups xmm1, xmmword [rsp + 0x88]
movdqu xmm2, xmmword [rsp + 0x98]
movups xmm3, xmmword [rsp + 0xa8]
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x120], xmm1
movdqu xmmword [rsp + 0x130], xmm2
movups xmmword [rsp + 0x140], xmm3
movups xmm0, xmmword [rsp + 0xb8]
movups xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [rsp + 0xd8]
movups xmmword [rsp + 0x170], xmm0
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x180], rax
lea rcx, [rsp + 0x188]
mov r8d, 0x90
mov rdx, qword [rsp + 0x48]
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rsp + 0x218], xmm0
movups xmmword [rsp + 0x228], xmm1
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x238], rax
movdqu xmm0, xmmword [r14 + 0x98]
movdqu xmm1, xmmword [r14 + 0xa8]
movdqu xmmword [rsp + 0x240], xmm0
movdqu xmmword [rsp + 0x250], xmm1
mov byte [rsp + 0x370], dil
mov qword [rsp + 0x350], 0
mov byte [rsp + 0x371], 1
mov ecx, 0x270
call fcn.140091540
mov rbx, rax
lea rdx, [rsp + 0x108]
mov r8d, 0x270
mov rcx, rax
call sub.msvcrt.dll_memcpy
lea rax, fcn.140174960
jmp 0x14017405e
movzx edi, byte [r14 + 0x1e8]
lea rdx, [r14 + 0xb8]
lea rcx, [rsp + 0x260]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x108], rsi
movups xmm0, xmmword [rsp + 0x78]
movups xmm1, xmmword [rsp + 0x88]
movdqu xmm2, xmmword [rsp + 0x98]
movups xmm3, xmmword [rsp + 0xa8]
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x120], xmm1
movdqu xmmword [rsp + 0x130], xmm2
movups xmmword [rsp + 0x140], xmm3
movups xmm0, xmmword [rsp + 0xb8]
movups xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [rsp + 0xd8]
movups xmmword [rsp + 0x170], xmm0
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x180], rax
lea rcx, [rsp + 0x188]
mov r8d, 0x90
mov rdx, qword [rsp + 0x48]
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rsp + 0x218], xmm0
movups xmmword [rsp + 0x228], xmm1
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x238], rax
movdqu xmm0, xmmword [r14 + 0x98]
movdqu xmm1, xmmword [r14 + 0xa8]
movdqu xmmword [rsp + 0x240], xmm0
movdqu xmmword [rsp + 0x250], xmm1
mov byte [rsp + 0x350], dil
mov byte [rsp + 0x351], 1
mov ecx, 0x250
call fcn.140091540
mov rbx, rax
lea rdx, [rsp + 0x108]
mov r8d, 0x250
mov rcx, rax
call sub.msvcrt.dll_memcpy
lea rax, fcn.1401748a0
mov rsi, qword [rsp + 0x40]
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rax
mov byte [rsi], 0x14
mov sil, 1
mov rdi, qword [rsp + 0x50]
test rdi, rdi
jne 0x140173b39
jmp 0x140173b8e
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_rustls_0.21.10_srcmsgshandshake.rs
mov ecx, 0x20
mov edx, 0x20
call fcn.14002ba50
jmp 0x1401740d1
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_rustls_0.21.10_srcmsgshandshake.rs
mov ecx, 0x20
call fcn.140030300
jmp 0x1401740d1
mov ecx, 0x238
mov edx, 8
call fcn.1400270c0
jmp 0x1401740d1
lea r8, [0x14028f250]
mov ecx, 0x30
call fcn.140030300
ud2