Function at 0x1401a5fa0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x80]
mov dword [rbp - 0x44], r9d
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x10], rcx
mov eax, 0x10
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov qword [rbp - 0x18], rax
add rax, 0x60
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x70], 0
mov ecx, 0x68
mov edx, 8
sub rsp, 0x20
call fcn.140029060
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov r8b, 0x32
xor r8b, 0x33
mov byte [rax], r8b
mov rax, qword [rcx + 0x48]
mov qword [rbp + 0x50], rax
mov rax, qword [rcx + 0x50]
mov qword [rbp + 0x58], rax
mov rax, qword [rdx]
mov qword [rbp + 0x40], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x50]
lea r8, [rbp + 0x40]
sub rsp, 0x20
call fcn.1400ca2e0
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov r8, qword [rbp + 0x60]
mov qword [rdx + 0x48], r8
mov r8, qword [rbp + 0x68]
mov qword [rdx + 0x50], r8
mov r8b, byte [rax + 0x60]
mov r9b, 0xf9
xor r9b, 0xf9
mov dl, 1
xor eax, eax
cmp r8b, r9b
mov byte [rbp - 1], dl
mov qword [rbp], rcx
mov qword [rbp + 8], rax
jne 0x1401a63d6
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x38]
mov qword [rbp - 0x50], rax
cmp rax, 0
jne 0x1401a6216
mov eax, dword [0x14027d868]
mov r8d, dword [0x14027d86c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xa3914406
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xdcff61c4
xor eax, 0xdcff61c4
or ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x6d1a3de7
xor edx, 0x9193bb5
mov r8d, 0x879954f4
xor r8d, 0x7866ab0b
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x64030652
and edx, r8d
or eax, edx
mov edx, 0x55384b1a
xor edx, 0xaac7b4e5
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x64030652
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x329ddd6d
jb 0x1401a64a0
mov rdx, qword [rbp - 0x10]
mov eax, dword [0x14027d870]
mov r8d, dword [0x14027d874]
mov ecx, eax
and ecx, r8d
xor eax, r8d
or ecx, eax
or ecx, 0xf76e2089
mov eax, ecx
and eax, 0xe2976c2
xor ecx, 0xe2976c2
or eax, ecx
mov ecx, 0x610fdd90
xor ecx, 0xbba346ea
and eax, ecx
mov dword [rbp - 0x58], eax
sub rsp, 0x20
xor eax, eax
mov r8b, al
lea rcx, [rbp + 0x78]
call fcn.1401a5b30
mov rcx, qword [rbp - 0x30]
mov eax, dword [rbp - 0x58]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0x22e0d35
jb 0x1401a616a
mov rcx, qword [rbp - 0x10]
mov r8b, byte [rbp - 0x51]
mov dl, 1
xor eax, eax
test r8b, 1
mov byte [rbp - 1], dl
mov qword [rbp], rcx
mov qword [rbp + 8], rax
jne 0x1401a6201
jmp 0x1401a63d6
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x78], 0
mov qword [rbp - 0x60], rax
jmp 0x1401a631f
mov rdx, qword [rbp - 0x50]
sub rsp, 0x20
xor eax, eax
mov r8b, al
lea rcx, [rbp + 0x70]
call fcn.1401a5b30
mov r8, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov dl, 1
xor eax, eax
cmp byte [r8], 0
mov byte [rbp - 1], dl
mov qword [rbp], rcx
mov qword [rbp + 8], rax
jne 0x1401a63d6
mov ecx, dword [0x14027d878]
mov edx, dword [0x14027d87c]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and edx, edx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0xdd4dece9
mov ecx, 0x90b0f240
xor ecx, 0xbadfac35
xor edx, edx
div ecx
mov ecx, 0xa58aa192
xor ecx, 0xfa8fe806
xor edx, edx
div ecx
cmp eax, 0x53a78fc2
je 0x1401a64a9
mov eax, dword [0x14027d880]
mov ecx, dword [str.glkxr]
xor ecx, 0x27827ce8
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xde012a00
add eax, ecx
add eax, 1
sub eax, 0x56ff1bf4
mov ecx, 0x3e202d95
xor ecx, 0xe0e6f83
add eax, ecx
sub eax, 0xb83fbe15
sub eax, 0x302e4216
mov ecx, 0xe24d8968
xor ecx, 0xd9da2afa
mov rdx, qword [rbp + 0x70]
mov qword [rbp - 0x68], rdx
mov qword [rbp + 0x70], 0
cmp eax, ecx
ja 0x1401a64a9
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x60], rax
jmp 0x1401a631f
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x40]
mov r9, qword [rbp - 0x10]
mov r10, qword [rbp - 0x60]
mov qword [rcx + 0x38], r10
mov qword [rcx + 0x40], r9
mov r9, qword [r8]
mov qword [rdx], r9
mov r9, qword [r8 + 8]
mov qword [rdx + 8], r9
movabs r9, 0xe97b419622b78a04
movabs r10, 0xe97b419622b78a04
xor r9, r10
mov qword [r8], r9
mov qword [r8 + 8], 0
mov r8, qword [rdx]
mov qword [rcx + 0x58], r8
mov rdx, qword [rdx + 8]
mov qword [rcx + 0x60], rdx
mov rcx, qword [rax]
mov qword [rbp + 0x20], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x30]
lea rdx, [rbp + 0x20]
sub rsp, 0x20
call fcn.140039831
mov edx, dword [rbp - 0x44]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov r9, qword [rbp + 0x30]
mov r8, qword [rbp + 0x38]
mov qword [rax + 0x28], r9
mov qword [rax + 0x30], r8
mov dword [rax + 0x24], edx
mov dword [rax + 0x20], 0xffffffff
mov dl, byte [rcx]
xor ecx, ecx
mov byte [rbp - 1], dl
mov qword [rbp], rcx
mov qword [rbp + 8], rax
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x40]
mov dl, byte [rbp - 1]
mov r8, qword [rbp]
mov r9, qword [rbp + 8]
mov qword [rbp - 0x80], r9
mov qword [rbp - 0x78], r8
mov byte [rbp - 0x69], dl
mov byte [rcx], 0
mov rcx, qword [rax]
mov qword [rbp + 0x10], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x10]
sub rsp, 0x20
call fcn.14019fb10
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x4d
xor cl, 0x4d
cmp al, cl
jne 0x1401a6493
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.1401a5240
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401a6493
mov rcx, qword [rbp + 0x70]
sub rsp, 0x20
call fcn.1401a5240
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x87
xor cl, 0x87
cmp al, cl
jne 0x1401a6493
mov rcx, qword [rbp + 0x78]
sub rsp, 0x20
call fcn.1401a5240
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401a6493
mov rax, qword [rbp - 0x30]
mov cl, byte [rbp - 0x69]
mov byte [rax], cl
mov rax, qword [rbp - 0x80]
lea rsp, [rbp + 0x80]
pop rbp
ret
pop rbp
ret 0x303c
and eax, 0xe9455716
std
std
invalid