Function at 0x14001a94e
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x7c], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
xor eax, eax
lea rcx, [0x1400e6fb0]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x50], 0x78c104ba
add rax, 4
cmp rax, 0x38
jne 0x14001a996
cmp qword [rsp + 0x30], 0
mov eax, 0x6359f216
mov ecx, 0x2498b279
cmove ecx, eax
mov dword [rsp + 0x48], ecx
mov eax, 0x7cbfe930
xor r15d, r15d
xorps xmm6, xmm6
lea r12, [0x1400e74d0]
lea r13, [0x1400e74b0]
lea rsi, [0x1400e7348]
mov r11d, 0x75fed7de
lea rbx, str._b_t_n_v_f
lea rdi, [0x1400e6520]
lea r8, [0x1400e64f0]
xor ecx, ecx
mov qword [rsp + 0xa8], rcx
xor ecx, ecx
mov qword [rsp + 0xa0], rcx
xor ebp, ebp
xor ecx, ecx
mov qword [rsp + 0x98], rcx
cmp eax, 0x5fcc2876
jg 0x14001aa68
cmp eax, 0x23b1fc5e
jle 0x14001aac4
cmp eax, 0x2b7cb90d
jg 0x14001ab6f
cmp eax, 0x23b1fc5f
je 0x14001abeb
cmp eax, 0x2529ff56
jne 0x14001aa1e
test r9d, r9d
mov eax, 0x2caaaeff
mov ecx, 0x262ea326
cmove eax, ecx
xor eax, dword [rsp + 0x68]
mov qword [rsp + 0x40], r10
jmp 0x14001aa1e
cmp eax, 0x771e161a
jle 0x14001ab2b
cmp eax, 0x7cbfe92f
jle 0x14001ab9a
cmp eax, 0x7d360d45
je 0x14001ac57
cmp eax, 0x7cbfe930
jne 0x14001aa1e
test r15b, r15b
lea rdx, [0x1400e6f70]
jne 0x14001aab4
xor eax, eax
movsxd rcx, dword [rax + rdx]
xor dword [rsp + rcx*4 + 0x50], 0x7a21c57f
add rax, 4
cmp rax, 0x34
jne 0x14001aa9e
mov eax, dword [rsp + 0x50]
xor eax, dword [rsp + 0x48]
mov r15b, 1
jmp 0x14001aa1e
cmp eax, 0x33c4088
je 0x14001ac6a
cmp eax, 0xd5cdd11
je 0x14001adeb
cmp eax, 0x1b98f6ac
jne 0x14001aa1e
mov edx, 1
mov rcx, qword [rsp + 0xb0]
call fcn.14001a7a8
mov r11d, 0x75fed7de
lea r8, [0x1400e64f0]
lea rdi, [0x1400e6520]
lea rbx, str._b_t_n_v_f
mov r10, rax
mov qword [rax], 0
mov eax, dword [rsp + 0x5c]
xor eax, r11d
xor r9d, r9d
jmp 0x14001aa1e
cmp eax, 0x5fcc2877
je 0x14001ae32
cmp eax, 0x62405f72
je 0x14001ae78
cmp eax, 0x6af489b9
jne 0x14001aa1e
cmp dword [rsp + 0x2c], 0
mov eax, 0x25e1f876
mov ecx, 0x2f65f5af
cmove eax, ecx
xor eax, dword [rsp + 0x80]
mov qword [rsp + 0x40], r14
jmp 0x14001aa1e
cmp eax, 0x2b7cb90e
je 0x14001ae95
cmp eax, 0x5c59b6c3
jne 0x14001aa1e
mov eax, dword [rsp + 0x58]
xor eax, r11d
mov r9d, 2
xor r10d, r10d
jmp 0x14001aa1e
cmp eax, 0x771e161b
jne 0x14001af7b
cmp byte [rsp + 0xa8], 0
jne 0x14001abc7
xor eax, eax
movsxd rcx, dword [rax + r8]
xor dword [rsp + rcx*4 + 0x50], 0x59f86fa6
add rax, 4
cmp rax, 0x28
jne 0x14001abb1
cmp r9d, 2
mov eax, 0x5d2ce9b2
mov ecx, 0x27c93e93
cmovl eax, ecx
xor eax, dword [rsp + 0x60]
mov cl, 1
mov qword [rsp + 0xa8], rcx
jmp 0x14001aa1e
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 8]
movabs rdx, 0x3fffffffffffffff
and rax, rdx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rcx, qword [rsp + 0xb8]
test bpl, bpl
jne 0x14001ac3b
xor edx, edx
movsxd rbp, dword [rdx + rbx]
xor dword [rsp + rbp*4 + 0x50], 0xe97711d
add rdx, 4
cmp rdx, 0x14
jne 0x14001ac25
cmp rcx, rax
mov eax, 0x7085878d
mov ecx, 0x11f99877
cmovg eax, ecx
xor eax, dword [rsp + 0x6c]
mov bpl, 1
jmp 0x14001aa1e
mov eax, dword [rsp + 0x84]
mov ecx, 0x2caaaeff
xor eax, ecx
jmp 0x14001aa1e
mov qword [rsp + 0xe8], r10
mov dword [rsp + 0x4c], r9d
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0xf8], r15
mov rcx, qword [rsp + 0xb8]
movups xmmword [rsp + 0xcc], xmm6
movaps xmmword [rsp + 0xc0], xmm6
xor eax, eax
movsxd rdx, dword [rax + r12]
xor dword [rsp + rdx*4 + 0xc0], 0x78c104ba
add rax, 4
cmp rax, 0x18
jne 0x14001aca1
lea rdx, [rcx + rcx*2]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
sar rax, 1
cmp rcx, 0x10000
mov r11d, 0x75bbd03d
mov edx, 0x452455bd
cmovl r11d, edx
test rcx, rcx
mov ebx, 0x57bc4a48
mov edx, 0x455611a3
cmovle ebx, edx
lea r8, [rcx + rcx]
mov ebp, 0xe97711d
mov r9b, 1
xor r10d, r10d
mov r15, rsi
mov esi, dword [rsp + 0xd4]
mov ecx, 0x50c1eb83
xor esi, ecx
mov edi, dword [rsp + 0xd0]
xor edi, ecx
mov ecx, dword [rsp + 0xc8]
mov r14d, 0x61ac573a
xor ecx, r14d
cmp ebp, 0x47c49477
jg 0x14001ad53
cmp ebp, 0xe97711d
je 0x14001adb6
cmp ebp, 0x2f7d4ef2
je 0x14001ad7d
cmp ebp, 0x3d971519
jne 0x14001ad2a
mov edx, 4
mov ebp, ecx
jmp 0x14001ad2a
cmp ebp, 0x47c49478
je 0x14001ad76
cmp ebp, 0x634c96ff
je 0x14001aeb5
cmp ebp, 0x775b11f8
jne 0x14001ad2a
mov rdx, rax
mov ebp, esi
jmp 0x14001ad2a
mov rdx, r8
mov ebp, edi
jmp 0x14001ad2a
test r10b, r10b
lea rdi, [0x1400e74e8]
jne 0x14001ada4
xor ecx, ecx
movsxd rbp, dword [rcx + rdi]
xor dword [rsp + rbp*4 + 0xc0], 0x316dbcb9
add rcx, 4
cmp rcx, 8
jne 0x14001ad8b
mov ebp, dword [rsp + 0xcc]
xor ebp, r11d
mov r10b, 1
jmp 0x14001ad03
test r9b, 1
je 0x14001add7
xor ecx, ecx
movsxd rbp, dword [rcx + r13]
xor dword [rsp + rbp*4 + 0xc0], 0x7a21c57f
add rcx, 4
cmp rcx, 0x14
jne 0x14001adbe
mov ebp, dword [rsp + 0xc0]
xor ebp, ebx
xor r9d, r9d
mov rsi, r15
jmp 0x14001ad00
cmp byte [rsp + 0x98], 0
jne 0x14001ae0d
xor eax, eax
movsxd rcx, dword [rax + rsi]
xor dword [rsp + rcx*4 + 0x50], 0x2f7d4ef2
add rax, 4
cmp rax, 8
jne 0x14001adf7
cmp dword [rsp + 0x2c], 4
mov eax, 0x56520f16
mov ecx, 0x17da3fa1
cmovl eax, ecx
xor eax, dword [rsp + 0x78]
mov cl, 1
mov qword [rsp + 0x98], rcx
jmp 0x14001aa1e
cmp byte [rsp + 0xa0], 0
jne 0x14001ae54
xor eax, eax
movsxd rcx, dword [rax + rdi]
xor dword [rsp + rcx*4 + 0x50], 0x28a16966
add rax, 4
cmp rax, 0x18
jne 0x14001ae3e
cmp r9d, 2
mov eax, 0x2caaaeff
mov ecx, 0x78a9523c
cmove eax, ecx
xor eax, dword [rsp + 0x64]
mov cl, 1
mov qword [rsp + 0xa0], rcx
jmp 0x14001aa1e
mov eax, dword [rsp + 0x70]
mov ecx, 0x70726b09
xor eax, ecx
mov dword [rsp + 0x2c], 4
mov r14, qword [rsp + 0x30]
jmp 0x14001aa1e
cmp dword [rsp + 0x2c], 4
mov eax, 0x25e1f876
mov ecx, 0x2f65f5af
cmove eax, ecx
xor eax, dword [rsp + 0x7c]
mov qword [rsp + 0x40], r14
jmp 0x14001aa1e
mov rsi, qword [rsp + 0xb0]
mov rcx, rsi
call fcn.14001a7a8
mov r14, rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov qword [r14], rax
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 8]
mov ecx, 0x10
call fcn.140010fcf
lea rbx, [rax + r14]
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 8]
mov ecx, 0x10
call fcn.140010fcf
mov rcx, qword [rsp + 0x30]
lea rdx, [rax + rcx]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsi + 0x18]
mov r8, qword [rcx]
imul r8, qword [rax]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
mov eax, dword [rsp + 0x74]
mov ecx, 0x70726b09
xor eax, ecx
mov dword [rsp + 0x2c], 0
mov rsi, r15
mov r11d, 0x75fed7de
mov r15, qword [rsp + 0xf8]
lea rbx, str._b_t_n_v_f
lea rdi, [0x1400e6520]
lea r8, [0x1400e64f0]
mov rbp, qword [rsp + 0xf0]
mov r9d, dword [rsp + 0x4c]
mov r10, qword [rsp + 0xe8]
jmp 0x14001aa1e
cmp eax, 0x77b2009c
jne 0x14001aa1e
mov rax, qword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret