Function at 0x14017c410
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov eax, dword [0x140490ad0]
mov ecx, dword [0x140493eb8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x14017c496
call fcn.14007d820
mov rsi, rax
movzx eax, byte [0x140490af0]
mov ecx, eax
not cl
xor al, 1
and cl, 0xfe
or cl, al
cmp cl, 0xff
je 0x14017c47d
call fcn.14007d820
mov rcx, rax
mov rax, qword [0x140490ad8]
sub rax, rcx
jmp 0x14017c47f
xor eax, eax
add rax, rsi
sub rax, qword [0x140490ae8]
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
lea rdx, [0x140490ad0]
xor ecx, ecx
mov r8d, 0x6d73e134
call fcn.14017cb80
cmp byte [0x140490b00], 0
jne 0x14017c4bc
cmp dword [0x140490ad0], 0xffffffff
jne 0x14017c44a
lea rcx, [0x140490aa0]
call fcn.1401e1f90
xorps xmm0, xmm0
movups xmmword [0x140490ab8], xmm0
mov qword [0x140490ac8], 0
call fcn.14007d820
mov qword [0x140490ad8], rax
mov qword [rbp - 8], 0xf
mov qword [rbp - 0x10], 0xc
xor ecx, ecx
mov edx, 1
mov r8d, 1
mov r9d, 0x25a9339e
call fcn.14017cbb0
mov rcx, qword [rax]
mov qword [rbp - 0x20], rcx
mov eax, dword [rax + 8]
mov dword [rbp - 0x18], eax
mov byte [rbp - 0x14], 0
lea rcx, [rbp - 0x38]
lea rdx, [rbp - 0x20]
call fcn.1401e31c0
lea rcx, [0x140490aa0]
lea rsi, [rbp - 0x38]
mov rdx, rsi
mov r8d, 0x24614861
call fcn.14017cba0
mov rcx, rsi
call fcn.140084570
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x14017c59d
mov rcx, qword [rbp - 0x20]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
cmp rdx, 0x1000
jb 0x14017c598
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14017c839
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140084550
lea rcx, [0x140490aa0]
call fcn.1401e2140
mov rbx, qword [0x14044a808]
movsxd rsi, dword [rbx]
mov edi, dword [0x1403646c8]
test al, al
je 0x14017c775
lea rcx, [0x140490aa0]
call fcn.1401e2130
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov dword [rsp + 0x20], 0xbf2e81c3
xor ecx, ecx
xor edx, edx
xor r8d, r8d
mov r9d, 1
call fcn.14017ce70
lea rcx, [rbp - 0x20]
mov edx, 0x26
mov r9, rax
call fcn.1400733f0
lea rcx, [0x140490aa0]
lea rdx, [rbp - 0x20]
call fcn.1401e3070
mov qword [0x140490ab8], rax
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x14017c662
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14017c65d
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14017c83e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140084550
add rsi, rbx
mov ebx, dword [0x140490ae0]
lea r14d, [rbx + 1]
mov dword [0x140490ae0], r14d
test ebx, r14d
je 0x14017c680
xor r15d, r15d
jmp 0x14017c696
xor eax, eax
xor r15d, r15d
test edi, edi
jle 0x14017c696
cdqe
xor r15, qword [rsi + rax]
add eax, 8
cmp eax, edi
jl 0x14017c689
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov dword [rsp + 0x20], 0xbf2e81c3
xor ecx, ecx
xor edx, edx
mov r8d, 1
xor r9d, r9d
call fcn.14017ce70
lea rcx, [rbp - 0x20]
mov edx, 0x28
mov r9, rax
call fcn.1400733f0
lea rcx, [0x140490aa0]
lea rdx, [rbp - 0x20]
call fcn.1401e3070
mov qword [0x140490ac0], rax
and ebx, r14d
mov rax, qword [0x1403646c0]
xor ecx, ecx
neg ebx
sbb rcx, rcx
sub rax, r15
not rax
mov rdx, rax
xor rdx, rcx
and rax, rcx
or rdx, rax
not rdx
test rdx, rdx
setne al
or al, byte [0x140490b00]
and al, 1
mov byte [0x140490b00], al
mov rax, qword [rbp - 8]
cmp rax, 0xf
jbe 0x14017c765
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14017c760
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14017c843
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140084550
lea rax, [0x140340680]
cmp qword [0x140490ab8], rax
je 0x14017c7f0
mov rax, qword [0x140490ab8]
test rax, rax
je 0x14017c7c3
cmp qword [0x140490ac0], 0
je 0x14017c7c3
lea rcx, [0x14017cb10]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0
lea r8, [0x140490ac8]
lea rdx, [rbp - 0x20]
mov ecx, 2
call qword [case.0x1400eabdd.0]
test eax, eax
je 0x14017c7c3
mov qword [0x140490ac0], 0
lea rcx, [0x14017caa0]
mov edx, 0x50bf7c38
call fcn.1400db710
lea rdx, [0x140490ad0]
mov ecx, 1
mov r8d, 0x6d73e134
call fcn.14017cb80
jmp 0x14017c44a
lea rax, [0x14035c638]
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x18]
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
lea rax, [0x14035cd08]
mov qword [rbp - 0x38], rax
mov byte [rbp - 0x30], 1
lea rcx, [rbp - 0x38]
call fcn.140341f8c
lea rax, [0x14035ccd8]
mov qword [rbp - 0x20], rax
lea rdx, [0x1403bd8f0]
lea rcx, [rbp - 0x20]
call fcn.140341eec
call fcn.1402f9bec
call fcn.1402f9bec
call fcn.1402f9bec
int3