Function at 0x1400526c0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rcx
add rcx, 8
mov qword [rsp + 0x58], rcx
xor eax, eax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov r11d, dword [str.0gC]
mov eax, dword [0x1402028e4]
xor eax, 0x4054fa16
or r11d, eax
add r11d, 0xba1b236e
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x6b50c82c
mov edx, 0xffffffff
xor edx, 0x6c33272
mov eax, ecx
and eax, 0x6c33272
and r11d, edx
mov r10d, 0xa32a3c2f
xor r10d, 0xa5e90e5d
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x6b50c82c
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x6c33272
and ecx, edx
or eax, ecx
add eax, 0x3ff76565
cmp eax, 0x649f4813
je 0x140052a80
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov eax, dword [0x1402028e8]
xor eax, 0x9ebe3836
mov r9d, dword [0x1402028ec]
mov edx, 0x5c164338
xor edx, 0x36965068
xor r9d, edx
xor edx, edx
div r9d
mov r9d, 0x4d72ea08
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x48]
mov r9d, 0x93c517e8
xor r9d, 0x93c517e8
mov r10d, 0xc2d4ee3f
xor r10d, 0x68f7ede2
sub r9d, r10d
add eax, r9d
mov r9d, 0x29b3946
xor r9d, 0x26a7754
or eax, r9d
cmp rdx, qword [r8]
setl dl
mov byte [rsp + 0x3f], dl
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp eax, 0x95cb8bee
jae 0x14005276d
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14005280a
jmp 0x140052a0c
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rcx, rax
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 0x10
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
cmp rcx, 0
mov qword [rsp + 0x30], rax
je 0x14005287a
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x28]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rsp + 0x30], rax
jne 0x14005287a
mov rcx, qword [rsp + 0x28]
call fcn.14000fb44
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rcx, qword [rax]
call fcn.14004abe0
test al, 1
jne 0x1400528a8
jmp 0x1400529f9
mov eax, dword [0x1402028f0]
add eax, dword [0x1402028f4]
mov ecx, 0x9e1166af
xor edx, edx
div ecx
xor eax, 0x9d2a4afa
mov r8d, 0xffffffff
xor r8d, 0x7e3d8a6
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xdb38669
xor r8d, 0xa505ecf
mov edx, eax
and edx, r8d
mov r8d, 0xdc2c7830
xor r8d, 0xdbcfa096
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x68ec21be
jbe 0x140052a89
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x58]
mov edx, dword [0x1402028f8]
xor edx, 0x3c714891
mov r10d, dword [0x1402028fc]
mov r9d, 0x38c71604
xor r9d, 0xc738e9fb
mov r8d, edx
xor r8d, r9d
mov r9d, r10d
and r9d, r8d
mov r11d, r10d
xor r11d, 0xffffffff
mov r8d, edx
and r8d, r11d
imul r8d, r9d
mov r9d, edx
and r9d, r10d
or edx, r10d
imul edx, r9d
add edx, r8d
add edx, 0x671c9c39
mov r9d, 0xccd8922d
xor r9d, 0xb59925f9
mov r8d, edx
and r8d, r9d
shl r8d, 1
mov r9d, 0x6dd98b72
xor r9d, 0x14983ca6
xor edx, r9d
add edx, r8d
sub edx, 0x9e204d2
mov dword [rsp + 0x24], edx
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rcx, qword [rax]
call fcn.140136686
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rcx, qword [rax]
mov edx, 8
call fcn.14000fb9a
mov eax, dword [rsp + 0x24]
cmp eax, 0xae60197e
jae 0x140052a89
jmp 0x1400529f9
mov rax, qword [rsp + 0x48]
add rax, 1
mov qword [rsp + 0x60], rax
jmp 0x1400526d9
mov rax, qword [rsp + 0x40]
cmp rax, 0
je 0x140052a7a
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
movabs rdx, 0x194a0ce32302a354
movabs rcx, 0x594a0ce32302a354
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x79f13947894e8b9b
movabs r8, 0x39f13947894e8b9b
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140052a7a
mov rcx, qword [rsp + 0x40]
mov edx, 8
call fcn.14000fb49
nop
add rsp, 0x68
ret
xlatb
jmp 0x14005276d
pop rsi
rcr cl, cl
cmp al, 0xe9
jg 0x140052a8e
invalid