Function at 0x1400f2120
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1d0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rax, qword [0x14019d010]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov r15, rcx
mov qword [rbp - 0x60], rdx
xor esi, esi
mov r14d, esi
mov dword [rbp - 0x68], esi
mov r12, qword [rdx]
mov rax, qword [rdx + 8]
mov qword [rbp - 0x70], rax
cmp r12, rax
je 0x1400f2b9b
lea rdi, [0x1401798a8]
movsd xmm9, qword [0x140180668]
movsd xmm8, qword [0x1401805e0]
mov r13d, 6
lea ebx, [r13 + 9]
mov rdx, r12
lea rcx, [rbp + 0x40]
call fcn.1400d8fd0
mov rdx, rax
mov r10d, esi
mov r9, rsi
cmp qword [rax + 0x10], 0
jbe 0x1400f21ff
nop word [rax + rax]
mov rcx, qword [0x1401a1248]
movzx r8d, word [rcx + 0x80]
mov rax, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x1400f21ec
mov rax, qword [rdx]
xor byte [r9 + rax], r8b
inc r10d
inc r9
movsxd rax, r10d
cmp rax, qword [rdx + 0x10]
jb 0x1400f21d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], rsi
movups xmm0, xmmword [rdx]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rdx + 0x10], rsi
mov qword [rdx + 0x18], rbx
mov byte [rdx], 0
mov rcx, rdx
call fcn.1400d93d0
nop
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae rcx, qword [rbp - 0x58]
xor r9d, r9d
mov r8d, r13d
lea rdx, [rbp - 0x78]
call fcn.1400cd120
nop
lea rcx, [rbp - 0x58]
call fcn.1400d93d0
call fcn.1400f2bf0
mov rbx, rax
mov rcx, rax
call fcn.1400f3920
mov qword [rsp + 0x30], rsi
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8d, [r9 - 1]
mov rdx, rbx
mov r13, qword [rbp - 0x78]
mov rcx, r13
call fcn.14008ada0
test eax, eax
jne 0x1400f2b83
mov rcx, qword [rbp - 0x68]
call fcn.140039470
cmp eax, 0x64
jne 0x1400f2b83
nop dword [rax + rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rsi
mov eax, 0xf
mov qword [rbp - 0x18], rax
mov byte [rbp - 0x30], 0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], rsi
mov qword [rbp + 8], rax
mov byte [rbp - 0x10], 0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], rax
mov byte [rbp + 0x10], 0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400f233d
mov rax, rbx
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1400f2306
call qword [0x14019e080]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400f2329
mov eax, 3
cmp ax, word [rbx + 0xc0]
jae 0x1400f2329
add rcx, 0xa8
jmp 0x1400f2340
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a010
mov rcx, rdi
movzx eax, word [rcx + 0x14]
test al, 2
je 0x1400f2353
cmp byte [rcx + 0x16], 1
jne 0x1400f2353
mov edi, dword [rcx + 0x10]
jmp 0x1400f2376
test al, 0x10
je 0x1400f2365
mov edi, dword [rcx + 0x10]
bt ax, 0xa
jae 0x1400f2376
add edi, dword [rcx]
jmp 0x1400f2376
test al, 1
je 0x1400f236d
mov edi, esi
jmp 0x1400f2376
mov dl, 1
call fcn.140032ed0
mov edi, eax
test rbx, rbx
je 0x1400f23a9
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400f238f
test edx, edx
jne 0x1400f238f
mov eax, esi
jmp 0x1400f2394
call fcn.140006ce0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400f23a9
call qword [0x14019e090]
movsxd rsi, edi
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400f2405
mov rax, rbx
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1400f23ca
call qword [0x14019e080]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400f23f1
mov eax, 3
cmp ax, word [rbx + 0xc0]
jae 0x1400f23f1
add rcx, 0xa8
jne 0x1400f240c
xor edi, edi
jmp 0x1400f2447
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a010
lea rcx, [0x1401798a8]
movzx edx, word [rcx + 0x14]
movzx eax, dx
mov r8d, 0x202
and ax, r8w
cmp ax, r8w
jne 0x1400f242f
cmp byte [rcx + 0x16], 1
jne 0x1400f242f
mov rdi, qword [rcx + 8]
jmp 0x1400f2442
test dl, 1
je 0x1400f2438
xor edi, edi
jmp 0x1400f2442
mov dl, 1
call fcn.1400327c0
mov rdi, rax
test rbx, rbx
je 0x1400f2475
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400f245b
test edx, edx
jne 0x1400f245b
xor eax, eax
jmp 0x1400f2460
call fcn.140006ce0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400f2475
call qword [0x14019e090]
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov r8, rsi
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.1400d9a90
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xor esi, esi
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], rsi
mov rax, qword [rbp - 0x48]
cmp rax, 3
jb 0x1400f2bdf
add rax, 0xfffffffffffffffd
mov r8d, 0xc
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae rdx, qword [rbp - 0x58]
add rdx, 3
lea rcx, [rbp + 0x40]
call fcn.1400d9a90
or r14d, 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], rsi
mov qword [rbp + 0x78], rsi
mov rax, qword [rbp - 0x48]
cmp rax, 0xf
jb 0x1400f2bd9
add rax, 0xfffffffffffffff1
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae rdx, qword [rbp - 0x58]
add rdx, 0xf
lea rcx, [rbp + 0x60]
call fcn.1400d9a90
or r14d, 2
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400f2577
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400f254e
call qword [0x14019e080]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400f2563
cmp si, word [rbx + 0xc0]
jb 0x1400f257e
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a010
lea rcx, [0x1401798a8]
movzx edx, word [rcx + 0x14]
movzx eax, dx
mov r8d, 0x202
and ax, r8w
cmp ax, r8w
jne 0x1400f25a1
cmp byte [rcx + 0x16], 1
jne 0x1400f25a1
mov rax, qword [rcx + 8]
jmp 0x1400f25b2
test dl, 1
je 0x1400f25ab
mov rax, rsi
jmp 0x1400f25b2
mov dl, 1
call fcn.1400327c0
mov rdi, rax
test rbx, rbx
je 0x1400f25ee
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400f25ce
test edx, edx
jne 0x1400f25ce
mov eax, esi
jmp 0x1400f25d3
call fcn.140006ce0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
mov rax, rdi
test rcx, rcx
je 0x1400f25ee
call qword [0x14019e090]
mov rax, rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400f2610
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400d9a90
mov r9d, esi
mov r8, rsi
cmp qword [rsp + 0x50], rsi
jbe 0x1400f2674
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x1401a1248]
movzx ecx, word [rax + 0x80]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
xor byte [rdx + r8], cl
inc r9d
lea r8, [r8 + 1]
movsxd rax, r9d
cmp rax, qword [rsp + 0x50]
jb 0x1400f2640
movups xmm6, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x68], xmm6
movups xmm7, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x78], xmm7
mov qword [rsp + 0x50], rsi
mov ebx, 0xf
mov qword [rsp + 0x58], rbx
mov byte [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
call fcn.1400d93d0
movaps xmmword [rbp - 0x30], xmm6
movaps xmmword [rbp - 0x20], xmm7
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rbx
mov byte [rsp + 0x68], 0
lea rcx, [rsp + 0x68]
call fcn.1400d93d0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400f2718
mov rax, rbx
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1400f26e4
call qword [0x14019e080]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400f2704
mov eax, 1
cmp ax, word [rbx + 0xc0]
jae 0x1400f2704
add rcx, 0x38
jmp 0x1400f271f
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a010
lea rcx, [0x1401798a8]
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x1400f272c
mov rdi, qword [rcx]
jmp 0x1400f2779
test al, 8
je 0x1400f2761
movsd xmm0, qword [rcx]
comisd xmm9, xmm0
jbe 0x1400f2747
movabs rdi, 0x8000000000000000
jmp 0x1400f2779
comisd xmm0, xmm8
jbe 0x1400f275a
movabs rdi, 0x7fffffffffffffff
jmp 0x1400f2779
cvttsd2si rdi, xmm0
jmp 0x1400f2779
test al, 0x12
je 0x1400f2776
cmp qword [rcx + 8], 0
je 0x1400f2776
call fcn.140031900
mov rdi, rax
jmp 0x1400f2779
mov rdi, rsi
test rbx, rbx
je 0x1400f27ac
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400f2792
test edx, edx
jne 0x1400f2792
mov eax, esi
jmp 0x1400f2797
call fcn.140006ce0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400f27ac
call qword [0x14019e090]
mov dword [rbp + 0x30], edi
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400f2801
mov rax, rbx
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1400f27cd
call qword [0x14019e080]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400f27ed
mov eax, 2
cmp ax, word [rbx + 0xc0]
jae 0x1400f27ed
add rcx, 0x70
jmp 0x1400f2808
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a010
lea rcx, [0x1401798a8]
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x1400f2815
mov rdi, qword [rcx]
jmp 0x1400f2862
test al, 8
je 0x1400f284a
movsd xmm0, qword [rcx]
comisd xmm9, xmm0
jbe 0x1400f2830
movabs rdi, 0x8000000000000000
jmp 0x1400f2862
comisd xmm0, xmm8
jbe 0x1400f2843
movabs rdi, 0x7fffffffffffffff
jmp 0x1400f2862
cvttsd2si rdi, xmm0
jmp 0x1400f2862
test al, 0x12
je 0x1400f285f
cmp qword [rcx + 8], 0
je 0x1400f285f
call fcn.140031900
mov rdi, rax
jmp 0x1400f2862
mov rdi, rsi
test rbx, rbx
je 0x1400f2895
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400f287b
test edx, edx
jne 0x1400f287b
mov eax, esi
jmp 0x1400f2880
call fcn.140006ce0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400f2895
call qword [0x14019e090]
mov dword [rbp + 0x34], edi
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400f28f2
mov rax, rbx
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1400f28b6
call qword [0x14019e080]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400f28de
mov eax, 6
cmp ax, word [rbx + 0xc0]
jae 0x1400f28de
add rcx, 0x150
jne 0x1400f28f9
mov rdi, rsi
jmp 0x1400f2935
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a010
lea rcx, [0x1401798a8]
movzx edx, word [rcx + 0x14]
movzx eax, dx
mov r8d, 0x202
and ax, r8w
cmp ax, r8w
jne 0x1400f291c
cmp byte [rcx + 0x16], 1
jne 0x1400f291c
mov rdi, qword [rcx + 8]
jmp 0x1400f2930
test dl, 1
je 0x1400f2926
mov rdi, rsi
jmp 0x1400f2930
mov dl, 1
call fcn.1400327c0
mov rdi, rax
test rbx, rbx
je 0x1400f2963
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400f2949
test edx, edx
jne 0x1400f2949
mov eax, esi
jmp 0x1400f294e
call fcn.140006ce0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400f2963
call qword [0x14019e090]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x1400f2980
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.1400d9a90
mov r9d, esi
mov r8, rsi
cmp qword [rsp + 0x50], rsi
jbe 0x1400f29e4
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x1401a1248]
movzx ecx, word [rax + 0x80]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
xor byte [rdx + r8], cl
inc r9d
lea r8, [r8 + 1]
movsxd rax, r9d
cmp rax, qword [rsp + 0x50]
jb 0x1400f29b0
movups xmm7, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x68], xmm7
movups xmm6, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x78], xmm6
mov qword [rsp + 0x50], rsi
mov ebx, 0xf
mov qword [rsp + 0x58], rbx
mov byte [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
call fcn.1400d93d0
movaps xmmword [rbp + 0x10], xmm7
movaps xmmword [rbp + 0x20], xmm6
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rbx
mov byte [rsp + 0x68], 0
lea rcx, [rsp + 0x68]
call fcn.1400d93d0
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r9, r15
lea r8, [rbp + 0x60]
lea rdx, [rsp + 0x40]
call fcn.1400de140
mov rdx, rax
mov r9d, esi
mov r8, rsi
cmp qword [rax + 0x10], rsi
jbe 0x1400f2a8f
nop
mov rcx, qword [0x1401a1248]
movzx r10d, word [rcx + 0x80]
mov rcx, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x1400f2a7c
mov rcx, qword [rdx]
xor byte [rcx + r8], r10b
inc r9d
inc r8
movsxd rax, r9d
cmp rax, qword [rdx + 0x10]
jb 0x1400f2a60
movups xmm6, xmmword [rdx]
movups xmmword [rsp + 0x68], xmm6
movups xmm7, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x78], xmm7
mov qword [rdx + 0x10], rsi
mov qword [rdx + 0x18], rbx
mov byte [rdx], 0
mov rcx, rdx
call fcn.1400d93d0
movaps xmmword [rbp - 0x10], xmm6
movaps xmmword [rbp], xmm7
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rbx
mov byte [rsp + 0x68], 0
lea rcx, [rsp + 0x68]
call fcn.1400d93d0
mov rbx, qword [r15 + 0x78]
cmp rbx, qword [r15 + 0x80]
je 0x1400f2b20
mov qword [rsp + 0x60], rbx
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1400d8fd0
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 0x10]
call fcn.1400d8fd0
nop
lea rcx, [rbx + 0x40]
lea rdx, [rbp + 0x10]
call fcn.1400d8fd0
mov eax, dword [rbp + 0x30]
mov dword [rbx + 0x60], eax
mov eax, dword [rbp + 0x34]
mov dword [rbx + 0x64], eax
add qword [r15 + 0x78], 0x68
jmp 0x1400f2b31
lea r8, [rbp - 0x30]
mov rdx, rbx
lea rcx, [r15 + 0x70]
call fcn.1400eb960
nop
lea rcx, [rbp + 0x60]
call fcn.1400d93d0
nop
lea rcx, [rbp + 0x40]
call fcn.1400d93d0
nop
lea rcx, [rbp - 0x58]
call fcn.1400d93d0
nop
lea rcx, [rbp + 0x10]
call fcn.1400d93d0
lea rcx, [rbp - 0x10]
call fcn.1400d93d0
lea rcx, [rbp - 0x30]
call fcn.1400d93d0
mov rcx, qword [rbp - 0x68]
call fcn.140039470
cmp eax, 0x64
lea rdi, [0x1401798a8]
je 0x1400f22b0
xor edx, edx
mov rcx, r13
call fcn.1400ca590
add r12, 0x20
cmp r12, qword [rbp - 0x70]
jne 0x1400f219f
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.140105b00
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400e5350
nop
call fcn.1400e5350
int3