Function at 0x14011c010
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], rcx
mov qword [rbp], rcx
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
sub rsp, 0x20
call fcn.14014b160
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x30], rdx
add rdx, 0x60
mov qword [rbp + 0x28], rdx
movabs rdx, 0x11ca9ca96da910fe
movabs r8, 0x11ca9ca96da910fe
xor rdx, r8
mov qword [rax], rdx
mov qword [rax + 8], 0
mov word [rcx], 0x294
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x38], rcx
mov al, byte [rax + 0x60]
mov cl, 0x1d
xor cl, 0x1d
cmp al, cl
jne 0x14011ca5a
lea rcx, [rbp + 0x100]
mov edx, 0x10
sub rsp, 0x20
call fcn.14011bd00
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0xa0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa8], rax
movabs rdx, 0x17c08b12aa737834
movabs rax, 0xe83f74ed2a737836
xor rdx, rax
mov r9d, 0xf4d6e0c
xor r9d, 0xf4f6e15
lea rcx, [rbp + 0x100]
lea r8, [rbp + 0xa0]
sub rsp, 0x20
call fcn.1400c78f0
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011ca5a
mov rax, qword [rbp + 0x100]
mov qword [rbp - 8], rax
cmp byte [rbp + 0x108], 0
jne 0x14011c194
sub rsp, 0x20
call fcn.14007c810
add rsp, 0x20
mov rax, qword [rbp + 0x28]
cmp byte [rax], 0
jne 0x14011ca5a
mov rax, qword [rbp + 0x20]
mov rcx, qword [0x1401ead38]
mov qword [rax], rcx
mov rcx, qword [0x1401ead40]
mov qword [rax + 8], rcx
jmp 0x14011cacc
lea rcx, [rbp + 0xe0]
mov edx, 0x18
sub rsp, 0x20
call fcn.14011bd00
add rsp, 0x20
lea rcx, [rbp + 0xc0]
mov edx, 0x18
sub rsp, 0x20
call fcn.14011bd00
add rsp, 0x20
mov qword [rbp + 0xb0], 0
lea rax, [rbp + 0xb0]
add rax, 8
mov qword [rbp - 0x18], rax
mov qword [rbp + 0xb8], 0
mov ax, 0xfc57
xor ax, 0xfea1
mov word [rbp + 0x9e], ax
lea rcx, [rbp + 0x9e]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x10], rcx
cmp byte [rax], 0
jne 0x14011c5b2
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0x60], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.14001d024
add rsp, 0x20
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp - 0x20], rax
movabs rdx, 0x4a764bcadd3acac9
movabs rax, 0x4a764bcadd3acad1
xor rdx, rax
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.14011bd00
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 8]
mov r8, qword [rbp + 0x10]
add rsp, 0x20
mov qword [r8], rcx
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.1400c9030
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011c5b2
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0xf0], rax
movups xmm0, xmmword [rbp + 0x80]
movaps xmmword [rbp + 0xe0], xmm0
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0xd0], rax
movups xmm0, xmmword [rbp + 0x80]
movaps xmmword [rbp + 0xc0], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0xe0]
call fcn.14005cf3f
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov cl, byte [rbp + 0xd0]
test cl, cl
sete cl
mov byte [rbp - 0x2a], cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x29], al
or al, cl
test al, 1
jne 0x14011c36f
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.14001976a
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
setne al
mov byte [rbp - 0x2b], al
jmp 0x14011c4b3
mov al, byte [rbp - 0x29]
test al, 1
jne 0x14011c5b2
jmp 0x14011c37f
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.14007c8e0
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov rcx, qword [rbp + 0x40]
mov qword [rbp - 0x40], rcx
mov rcx, qword [rbp + 0x48]
mov qword [rbp - 0x38], rcx
mov al, byte [rax]
mov cl, 0x1a
xor cl, 0x1a
cmp al, cl
jne 0x14011c5b2
mov eax, dword [0x1401dc918]
xor eax, 0x9a98a2e5
xor edx, edx
div dword [0x1401dc91c]
sub eax, 0x19528ed7
mov ecx, 0x27905dcb
xor edx, edx
div ecx
mov ecx, 0x10324680
xor ecx, 0x7eae86f3
xor edx, edx
div ecx
cmp eax, 0x7c948a96
je 0x14011cad9
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x40]
mov eax, dword [0x1401dc920]
mov r9d, 0x4ac83a8a
xor r9d, 0x52e60862
xor eax, r9d
imul eax, dword [str.__BQ]
mov r9d, 0x38fb11b0
xor r9d, 0x4675baf8
mov r10d, 0x3726ce0
xor r10d, 0xfc8d931f
xor r9d, r10d
mov r10d, 0x9e29b446
xor r10d, 0x9e29b446
mov r11d, 0x65346505
xor r11d, 0x65346504
sub r10d, r11d
sub r9d, r10d
sub eax, r9d
mov r11d, 0xffffffff
xor r11d, 0x90c8e370
mov r10d, eax
and r10d, r11d
mov r9d, eax
or r9d, r11d
xor r9d, 0xffffffff
imul r9d, r10d
mov r10d, eax
and r10d, 0x90c8e370
or eax, 0x90c8e370
imul eax, r10d
add eax, r9d
imul eax, eax, 0xb459be6d
mov qword [rbp + 0xb0], r8
mov qword [rcx], rdx
cmp eax, 0xb60d51a2
jb 0x14011cad9
xor eax, eax
mov byte [rbp - 0x2b], al
jmp 0x14011c4b3
mov cl, byte [rbp - 0x2a]
mov al, byte [rbp - 0x2b]
mov byte [rbp - 0x41], al
or al, cl
test al, 1
jne 0x14011c5c3
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0xb0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0xb8]
mov qword [rax + 8], rcx
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140010510
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x14011c547
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14011c547
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.14005cf66
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011c5be
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.14005cf66
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011c5be
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.1400c83c0
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xd8
xor cl, 0xd8
cmp al, cl
je 0x14011cacc
jmp 0x14011ca5a
mov rax, qword [rbp + 0x28]
mov byte [rax], 0
jmp 0x14011c8e8
jmp 0x14011ca2a
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14011c748
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [0x1401ead38]
mov qword [rcx], rdx
mov rdx, qword [0x1401ead40]
mov qword [rcx + 8], rdx
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x14011c6dd
mov rcx, qword [rbp - 0x58]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14011c6dd
mov eax, dword [0x1401dc928]
mov ecx, dword [0x1401dc92c]
xor ecx, 0x78f375ba
imul eax, ecx
mov ecx, 0x5e4f58f7
xor ecx, 0x2273123e
or eax, ecx
mov ecx, eax
xor ecx, 0x46b94fb9
xor ecx, 0xffffffff
mov edx, 0xbd6111e8
xor edx, 0xfbd85e51
or eax, edx
and eax, ecx
sub eax, 0xc1525298
sub eax, 0xf307bd79
add eax, 0xc1525298
cmp eax, 0x131a825a
jb 0x14011cae2
mov rcx, qword [rbp - 0x58]
mov eax, dword [0x1401dc930]
and eax, dword [0x1401dc934]
mov r8d, 0x73b9b5ba
xor r8d, 0xdbc535af
mov edx, eax
xor edx, r8d
xor edx, 0xffffffff
and edx, 0xa87c8015
shl edx, 1
sub edx, 0xa87c8015
sub eax, edx
mov edx, eax
and edx, 0x3e58b7ff
shl edx, 1
add eax, 0x3e58b7ff
sub eax, edx
or eax, 0x208d562
mov dword [rbp - 0x5c], eax
sub rsp, 0x20
call fcn.14000eb2e
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp eax, 0x65261eb
je 0x14011c66d
jmp 0x14011c6dd
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.14005cf66
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011ca2a
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.14005cf66
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x39
xor cl, 0x39
cmp al, cl
jne 0x14011ca2a
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.1400c83c0
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
je 0x14011cacc
jmp 0x14011ca5a
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
mov byte [rcx], 0
cmp rax, 0
je 0x14011c8e8
mov ecx, dword [0x1401dc938]
imul ecx, dword [0x1401dc93c]
sub ecx, 0x72a90edf
sub ecx, 0xbbc04c99
mov eax, 0x470f16af
xor eax, 0x35a61870
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x464e5b6d
mov edx, 0xffffffff
xor edx, 0x464e5b6d
and ecx, edx
or eax, ecx
mov ecx, 0x7347cf99
xor edx, edx
div ecx
cmp eax, 0xbc4e73c0
je 0x14011caeb
mov rdx, qword [rbp - 0x68]
mov eax, dword [0x1401dc940]
xor eax, 0xcf606b7f
and eax, dword [0x1401dc944]
mov ecx, 0xbfe97248
xor ecx, 0xebd48ea7
imul eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x7879ebca
or ecx, 0x7879ebca
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x40a7d332
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x40a7d332
or eax, 0x40a7d332
imul eax, r8d
add eax, ecx
mov ecx, 0x610bdbf3
xor ecx, 0x17b3470e
mov r8, qword [rdx]
movabs r9, 0x2c0fd1bd66f6f628
movabs rdx, 0xd3f02e42990909d7
xor r9, rdx
mov rdx, r8
xor rdx, r9
movabs r9, 0x9253f5c3ebd20f76
movabs r10, 0x6dac0a3c142df089
xor r9, r10
xor r8, r9
and rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
mov r9, 0xffffffffffffffff
movabs r10, 0x4000000000000000
xor r9, r10
and r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xf808c8c1d57583db
movabs r9, 0xf808c8c1d57583db
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
je 0x14011caeb
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14011c8d7
jmp 0x14011c8e8
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.14005cf66
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011ca2a
mov eax, dword [0x1401dc948]
mov r8d, dword [0x1401dc94c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x5df10317
xor ecx, 0xa20efce8
mov edx, eax
xor edx, ecx
and edx, 0x128ed75f
mov r8d, 0xffffffff
xor r8d, 0x128ed75f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x128ed75f
or eax, 0x128ed75f
imul eax, edx
add eax, ecx
mov ecx, 0xb6b3c49d
xor ecx, 0x620b61e7
sub eax, ecx
add eax, 0x2dc8bd4d
add eax, 0xd4b8a57a
or eax, 0xa6f546b5
cmp eax, 0xed55fe8d
jbe 0x14011caf4
mov eax, dword [0x1401dc950]
xor edx, edx
div dword [0x1401dc954]
mov edx, eax
mov eax, 0xb694a033
xor eax, 0x1e7bad7e
or edx, eax
mov eax, 0xd0055979
xor eax, 0x975a4890
mov ecx, edx
xor ecx, eax
mov eax, 0xffffffff
xor eax, 0x475f11e9
and edx, eax
mov eax, 0x662ded22
xor eax, 0x662ded20
imul eax, edx
sub eax, ecx
mov ecx, 0x10224cb1
xor ecx, 0xc1d7dc02
xor edx, edx
div ecx
mov dword [rbp - 0x70], eax
mov eax, 0x7e5c3e25
xor eax, 0x222f889d
mov dword [rbp - 0x74], eax
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.14005cf66
mov ecx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp eax, ecx
ja 0x14011caf4
jmp 0x14011ca2a
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp - 8]
mov dl, 0xbb
xor dl, 0xbb
mov byte [rax], dl
sub rsp, 0x20
call fcn.1400c83c0
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011ca5a
mov rax, qword [rbp + 0x28]
mov byte [rax], 1
sub rsp, 0x20
call fcn.14011bd8b
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp word [rax + 0x12], 1
jle 0x14011cacc
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x14011cacc
mov rax, qword [rbp + 0x28]
mov byte [rax], 0
sub rsp, 0x20
call fcn.14011bda0
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008f410
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14011cacc
sub rsp, 0x20
call fcn.14011bf10
add rsp, 0x20
mov rax, qword [rbp]
lea rsp, [rbp + 0x110]
pop rbp
ret
sbb rsp, rbx
push rax
jmp 0x14011c3ee
pop rsi
invalid
jmp 0x14011c66d
ja 0x14011cae6
or al, 0x58
jmp 0x14011c7b6
sub byte [rsi - 0x5d], al
out 0xe9, eax
movabs byte [0x4855001f0ffffffe], al
push rbp
sub rsp, 0x250