Function at 0x4295a0
Capabilities:
Encode data using xor

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x38]
cmp rax, qword [rcx + 0x10]
jbe 0x429b04
sub rsp, 0xb8
mov rbx, qword [0x00606160]
xor ebp, ebp
cmp rbx, rbp
jne 0x429636
mov qword [rsp], 0x15f8f8
lea rbx, [0x00623400]
mov qword [rsp + 8], rbx
add qword [rsp + 8], 0x90
call fcn.00419a30
mov rbx, qword [rsp + 0x10]
cmp byte [0x006216d2], 0
jne 0x429aea
mov qword [0x00606160], rbx
mov rbx, qword [0x00606160]
xor ebp, ebp
cmp rbx, rbp
jne 0x429636
lea rbx, [0x0056b220]
mov qword [rsp], rbx
mov qword [rsp + 8], 0x1f
call fcn.004303c0
xor edx, edx
mov rax, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xe0]
xor ecx, ecx
cmp rcx, rdi
jge 0x42967d
mov rbp, qword [rax]
add rdx, rbp
mov rsi, rdx
shl rsi, 0xa
add rsi, rdx
mov rdx, rsi
shr rdx, 6
xor rdx, rsi
add rax, 8
inc rcx
cmp rcx, rdi
jl 0x429657
mov rbp, qword [rsp + 0xc8]
mov rax, rdx
add rax, rbp
mov rcx, rax
shl rcx, 0xa
add rcx, rax
mov rbx, rcx
shr rbx, 6
xor rbx, rcx
mov rax, rbx
shl rbx, 3
add rbx, rax
mov rax, rbx
shr rax, 0xb
xor rax, rbx
movabs r8, 0x5d350fde298c8d49
mov rsi, rax
mul r8
mov rbx, rdx
shr rbx, 0x10
imul rbx, rbx, 0x2bf1f
mov rax, rsi
mov qword [rsp + 0x40], rsi
sub rax, rbx
mov rbx, qword [0x00606160]
cmp rbx, 0
je 0x429ae3
mov qword [rsp + 0x38], rax
cmp rax, 0x2bf1f
jae 0x429adc
lea rbx, [rbx + rax*8]
mov rax, qword [rbx]
xor ebp, ebp
cmp rax, rbp
je 0x4297fe
mov rbx, qword [rax + 0x10]
mov rbp, qword [rsp + 0xc0]
cmp rbx, rbp
jne 0x4297f0
mov rbx, qword [rax + 0x18]
cmp rbx, rsi
jne 0x4297f0
mov rbx, qword [rax + 0x20]
mov rbp, qword [rsp + 0xc8]
cmp rbx, rbp
jne 0x4297f0
mov qword [rsp + 0x48], rax
xor ebx, ebx
mov rcx, 0x30
mov rbx, rax
add rbx, rcx
mov rdx, qword [rax + 0x28]
mov rbp, qword [rax + 0x28]
cmp rbp, 0x20
ja 0x429ad5
cmp rdx, rbp
ja 0x429ad5
cmp rbx, 0
je 0x429ace
mov qword [rsp + 0x70], rbx
mov qword [rsp], rbx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x10], rbp
mov rbx, qword [rsp + 0xd0]
mov qword [rsp + 0x18], rbx
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x20], rbx
mov rbx, qword [rsp + 0xe0]
mov qword [rsp + 0x28], rbx
call fcn.00429b10
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
movzx ebx, byte [rsp + 0x30]
cmp bl, 0
je 0x4297f0
mov qword [rsp + 0xf0], rax
add rsp, 0xb8
ret
mov rax, qword [rax]
xor ebp, ebp
cmp rax, rbp
jne 0x429710
cmp byte [rsp + 0xe8], 0
jne 0x42981c
mov qword [rsp + 0xf0], 0
add rsp, 0xb8
ret
mov rax, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xc0]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
call fcn.00429360
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x50], rax
xor ebx, ebx
mov rcx, 0x30
mov rbx, rax
add rbx, rcx
mov rdx, qword [rax + 0x28]
mov rbp, qword [rax + 0x28]
cmp rbp, 0x20
ja 0x429ac7
cmp rdx, rbp
ja 0x429ac7
mov rsi, rbx
cmp rbx, 0
je 0x429ac0
mov rax, rbp
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rdx
mov rbp, rdx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xe0]
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa8], rbp
mov rax, rbp
mov qword [rsp + 0x90], rcx
cmp rcx, rbp
jge 0x4298d3
mov rax, rcx
mov qword [rsp + 0xa0], rsi
mov qword [rsp], rsi
mov qword [rsp + 0x88], rdx
mov qword [rsp + 8], rdx
mov rbx, rax
shl rbx, 3
mov qword [rsp + 0x10], rbx
call fcn.0045c580
mov rax, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x40]
mov qword [rax + 0x18], rbp
mov rbp, qword [rsp + 0xc8]
mov qword [rax + 0x20], rbp
mov rbp, qword [0x00606160]
cmp rbp, 0
je 0x429ab8
mov r8, qword [rsp + 0x38]
cmp r8, 0x2bf1f
jae 0x429ab1
lea rbp, [rbp + r8*8]
mov r8, qword [rbp]
cmp byte [0x006216d2], 0
jne 0x429a99
mov qword [rax], r8
mov rbx, qword [0x00606160]
cmp rbx, 0
je 0x429a92
mov rbp, qword [rsp + 0x38]
cmp rbp, 0x2bf1f
jae 0x429a8b
lea rbx, [rbx + rbp*8]
cmp byte [0x006216d2], 0
jne 0x429a73
mov qword [rbx], rax
mov rbx, qword [rsp + 0xc0]
cmp rbx, 1
jne 0x429a0b
cmp rax, 0
je 0x429a07
mov rbp, qword [0x00606198]
cmp byte [0x006216d2], 0
jne 0x4299ee
mov qword [rax + 8], rbp
cmp byte [0x006216d2], 0
jne 0x4299d2
mov qword [0x00606198], rax
mov qword [rsp + 0xf0], rax
add rsp, 0xb8
ret
lea rbp, [0x00606198]
mov qword [rsp], rbp
mov qword [rsp + 8], rax
call fcn.004158b0
mov rax, qword [rsp + 0x50]
jmp 0x4299c2
lea r8, [rax + 8]
mov qword [rsp], r8
mov qword [rsp + 8], rbp
call fcn.004158b0
mov rax, qword [rsp + 0x50]
jmp 0x4299b2
mov dword [rax], eax
jmp 0x42999e
cmp rax, 0
je 0x429a6f
mov rbp, qword [0x00606158]
cmp byte [0x006216d2], 0
jne 0x429a56
mov qword [rax + 8], rbp
cmp byte [0x006216d2], 0
jne 0x429a37
mov qword [0x00606158], rax
jmp 0x4299c2
lea rbp, [0x00606158]
mov qword [rsp], rbp
mov qword [rsp + 8], rax
call fcn.004158b0
mov rax, qword [rsp + 0x50]
jmp 0x4299c2
lea r8, [rax + 8]
mov qword [rsp], r8
mov qword [rsp + 8], rbp
call fcn.004158b0
mov rax, qword [rsp + 0x50]
jmp 0x429a25
mov dword [rax], eax
jmp 0x429a11
mov qword [rsp], rbx
mov qword [rsp + 8], rax
call fcn.004158b0
mov rax, qword [rsp + 0x50]
jmp 0x42998a
call fcn.0042e3e0
ud2
mov dword [rbx], eax
jmp 0x429964
mov qword [rsp], rax
mov qword [rsp + 8], r8
call fcn.004158b0
mov rax, qword [rsp + 0x50]
jmp 0x429953
call fcn.0042e3e0
ud2
mov dword [rbp], eax
jmp 0x429928
mov dword [rbx], eax
jmp 0x42987b
call fcn.0042e460
ud2
mov dword [rbx], eax
jmp 0x429780
call fcn.0042e460
ud2
call fcn.0042e3e0
ud2
mov dword [rbx], eax
jmp 0x4296ed
lea rbp, [0x00606160]
mov qword [rsp], rbp
mov qword [rsp + 8], rbx
call fcn.004158b0
jmp 0x42960f
call fcn.00459520
jmp fcn.004295a0