Function at 0x428d70
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 0x4292d4
sub rsp, 0xb8
mov rbx, qword [0x00741148]
xor ebp, ebp
cmp rbx, rbp
jne 0x428e06
mov qword [rsp], 0x15f8f8
lea rbx, [0x0075e3e0]
mov qword [rsp + 8], rbx
add qword [rsp + 8], 0x90
call fcn.004191f0
mov rbx, qword [rsp + 0x10]
cmp byte [0x0075c6b0], 0
jne 0x4292ba
mov qword [0x00741148], rbx
mov rbx, qword [0x00741148]
xor ebp, ebp
cmp rbx, rbp
jne 0x428e06
lea rbx, [0x00569f80]
mov qword [rsp], rbx
mov qword [rsp + 8], 0x1f
call fcn.0042f750
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 0x428e4d
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 0x428e27
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 [0x00741148]
cmp rbx, 0
je 0x4292b3
mov qword [rsp + 0x38], rax
cmp rax, 0x2bf1f
jae 0x4292ac
lea rbx, [rbx + rax*8]
mov rax, qword [rbx]
xor ebp, ebp
cmp rax, rbp
je 0x428fce
mov rbx, qword [rax + 0x10]
mov rbp, qword [rsp + 0xc0]
cmp rbx, rbp
jne 0x428fc0
mov rbx, qword [rax + 0x18]
cmp rbx, rsi
jne 0x428fc0
mov rbx, qword [rax + 0x20]
mov rbp, qword [rsp + 0xc8]
cmp rbx, rbp
jne 0x428fc0
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 0x4292a5
cmp rdx, rbp
ja 0x4292a5
cmp rbx, 0
je 0x42929e
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.004292e0
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
movzx ebx, byte [rsp + 0x30]
cmp bl, 0
je 0x428fc0
mov qword [rsp + 0xf0], rax
add rsp, 0xb8
ret
mov rax, qword [rax]
xor ebp, ebp
cmp rax, rbp
jne 0x428ee0
cmp byte [rsp + 0xe8], 0
jne 0x428fec
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.00428b30
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 0x429297
cmp rdx, rbp
ja 0x429297
mov rsi, rbx
cmp rbx, 0
je 0x429290
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 0x4290a3
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.0045b860
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 [0x00741148]
cmp rbp, 0
je 0x429288
mov r8, qword [rsp + 0x38]
cmp r8, 0x2bf1f
jae 0x429281
lea rbp, [rbp + r8*8]
mov r8, qword [rbp]
cmp byte [0x0075c6b0], 0
jne 0x429269
mov qword [rax], r8
mov rbx, qword [0x00741148]
cmp rbx, 0
je 0x429262
mov rbp, qword [rsp + 0x38]
cmp rbp, 0x2bf1f
jae 0x42925b
lea rbx, [rbx + rbp*8]
cmp byte [0x0075c6b0], 0
jne 0x429243
mov qword [rbx], rax
mov rbx, qword [rsp + 0xc0]
cmp rbx, 1
jne 0x4291db
cmp rax, 0
je 0x4291d7
mov rbp, qword [0x00741180]
cmp byte [0x0075c6b0], 0
jne 0x4291be
mov qword [rax + 8], rbp
cmp byte [0x0075c6b0], 0
jne 0x4291a2
mov qword [0x00741180], rax
mov qword [rsp + 0xf0], rax
add rsp, 0xb8
ret
lea rbp, [0x00741180]
mov qword [rsp], rbp
mov qword [rsp + 8], rax
call fcn.00415070
mov rax, qword [rsp + 0x50]
jmp 0x429192
lea r8, [rax + 8]
mov qword [rsp], r8
mov qword [rsp + 8], rbp
call fcn.00415070
mov rax, qword [rsp + 0x50]
jmp 0x429182
mov dword [rax], eax
jmp 0x42916e
cmp rax, 0
je 0x42923f
mov rbp, qword [0x00741140]
cmp byte [0x0075c6b0], 0
jne 0x429226
mov qword [rax + 8], rbp
cmp byte [0x0075c6b0], 0
jne 0x429207
mov qword [0x00741140], rax
jmp 0x429192
lea rbp, [0x00741140]
mov qword [rsp], rbp
mov qword [rsp + 8], rax
call fcn.00415070
mov rax, qword [rsp + 0x50]
jmp 0x429192
lea r8, [rax + 8]
mov qword [rsp], r8
mov qword [rsp + 8], rbp
call fcn.00415070
mov rax, qword [rsp + 0x50]
jmp 0x4291f5
mov dword [rax], eax
jmp 0x4291e1
mov qword [rsp], rbx
mov qword [rsp + 8], rax
call fcn.00415070
mov rax, qword [rsp + 0x50]
jmp 0x42915a
call fcn.0042d830
ud2
mov dword [rbx], eax
jmp 0x429134
mov qword [rsp], rax
mov qword [rsp + 8], r8
call fcn.00415070
mov rax, qword [rsp + 0x50]
jmp 0x429123
call fcn.0042d830
ud2
mov dword [rbp], eax
jmp 0x4290f8
mov dword [rbx], eax
jmp 0x42904b
call fcn.0042d890
ud2
mov dword [rbx], eax
jmp 0x428f50
call fcn.0042d890
ud2
call fcn.0042d830
ud2
mov dword [rbx], eax
jmp 0x428ebd
lea rbp, [0x00741148]
mov qword [rsp], rbp
mov qword [rsp + 8], rbx
call fcn.00415070
jmp 0x428ddf
call fcn.00458800
jmp fcn.00428d70