Function at 0x1401536d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x38], rcx
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.140150f44
add rsp, 0x20
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.140150570
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x59
xor cl, 0x59
cmp al, cl
jne 0x140153ddd
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x28]
mov qword [rax], 0
mov ax, 0x8d4f
xor ax, 0x8b75
mov word [rcx], ax
sub rsp, 0x20
call fcn.14006cf90
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x40], rcx
cmp byte [rax], 0
jne 0x140153ddd
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
mov qword [rbp - 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x48], rax
mov ecx, 0x15b
sub rsp, 0x20
call fcn.14006e0a0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rbp + 0x10], ecx
cmp byte [rax], 0
jne 0x140153ddd
mov ecx, 0x17b
sub rsp, 0x20
call fcn.14006dde0
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp - 0x18]
mov word [rbp + 0x14], cx
cmp byte [rax], 0
jne 0x140153ddd
mov ecx, 0x25c
sub rsp, 0x20
call fcn.14006dde0
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp - 0x18]
mov word [rbp + 0x16], cx
cmp byte [rax], 0
jne 0x140153ddd
mov eax, dword [0x14021fdf8]
xor eax, 0x6e814c9d
mov r8d, dword [0x14021fdfc]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xaad559e8
add eax, ecx
add eax, 1
mov ecx, 0x8d92783e
xor ecx, 0x146d875
add eax, ecx
xor eax, 0xd14fa4b1
cmp eax, 0x1252da6b
jbe 0x140153de3
mov eax, dword [0x14021fe00]
xor eax, 0x37a87144
add eax, dword [0x14021fe04]
mov ecx, 0xd27c65ba
xor ecx, 0x12af5a94
and eax, ecx
mov ecx, 0x8cee8abb
xor ecx, 0xf23dd0f9
add eax, ecx
sub eax, 0xe114ae74
sub eax, 0x7ed35a42
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xd6055d4d
and ecx, 0xd6055d4d
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xa81e22e2
xor edx, 0x57e1dd1d
xor ecx, edx
or eax, ecx
mov dword [rbp - 0x58], eax
mov ecx, 0x5f6
sub rsp, 0x20
call fcn.14006e630
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp - 0x58]
mov byte [rbp - 0x52], dl
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0xce137a0d
jb 0x140153863
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140153902
jmp 0x140153ddd
mov al, byte [rbp - 0x52]
mov byte [rbp + 0x18], al
mov cx, 0x4470
xor cx, 0x4599
sub rsp, 0x20
call fcn.14006e630
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x18]
mov byte [rbp - 0x59], cl
cmp byte [rax], 0
jne 0x140153ddd
mov al, byte [rbp - 0x59]
mov byte [rbp + 0x19], al
mov cx, 0x8637
xor cx, 0x83ca
sub rsp, 0x20
call fcn.14006e630
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x18]
mov byte [rbp - 0x5a], cl
mov al, byte [rax]
mov cl, 0xdd
xor cl, 0xdd
cmp al, cl
jne 0x140153ddd
mov al, byte [rbp - 0x5a]
mov byte [rbp + 0x1a], al
mov ecx, 0x28b
sub rsp, 0x20
call fcn.14006e630
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x18]
mov byte [rbp - 0x5b], cl
cmp byte [rax], 0
jne 0x140153ddd
mov al, byte [rbp - 0x5b]
mov byte [rbp + 0x1b], al
mov cx, 0xd744
xor cx, 0xd3b0
sub rsp, 0x20
call fcn.14006e630
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x18]
mov byte [rbp - 0x5c], cl
cmp byte [rax], 0
jne 0x140153ddd
mov al, byte [rbp - 0x5c]
mov byte [rbp + 0x1c], al
mov ecx, 0x559
sub rsp, 0x20
call fcn.14006e630
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x18]
mov byte [rbp - 0x5d], cl
cmp byte [rax], 0
jne 0x140153ddd
mov al, byte [rbp - 0x5d]
mov byte [rbp + 0x1d], al
mov ecx, 0x10a
sub rsp, 0x20
call fcn.14006e630
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x18]
mov byte [rbp - 0x5e], cl
cmp byte [rax], 0
jne 0x140153ddd
mov al, byte [rbp - 0x5e]
mov byte [rbp + 0x1e], al
mov ecx, 0x2c5
sub rsp, 0x20
call fcn.14006e630
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x18]
mov byte [rbp - 0x5f], cl
cmp byte [rax], 0
jne 0x140153ddd
mov r9, qword [rbp - 0x28]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov dl, byte [rbp - 0x5f]
mov byte [rbp + 0x1f], dl
mov qword [rbp], rcx
mov qword [rbp + 8], rax
mov rcx, rbp
lea rdx, [rbp + 0x10]
mov r8d, 4
sub rsp, 0x20
call fcn.140152b20
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rbp - 0x64], ecx
cmp byte [rax], 0
jne 0x140153ddd
mov eax, dword [0x14021fe08]
xor eax, 0x56ce5096
mov edx, dword [0x14021fe0c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x6ddbc5e
xor ecx, 0xa8bcd53a
imul eax, ecx
mov edx, 0x503ab01
xor edx, 0x77c12d91
mov ecx, eax
xor ecx, edx
mov edx, 0x36e99815
xor edx, 0x442b1e85
mov r8d, 0x1abd47fe
xor r8d, 0xe542b801
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
and eax, 0x2f97c2e2
cmp eax, 0xae87cad3
ja 0x140153dec
mov rdx, qword [rbp - 0x28]
mov ecx, dword [rbp - 0x64]
mov eax, dword [0x14021fe10]
mov r8d, dword [0x14021fe14]
and eax, r8d
mov r8d, eax
xor r8d, 0x41edee5f
xor eax, 0x2c000100
and eax, 0x2d080100
mov r9d, r8d
and r9d, 0xc0227498
or eax, r9d
xor eax, 0x64225498
and r8d, 0x492a5598
or eax, r8d
test ecx, ecx
setne cl
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
test rdx, rdx
sete dl
or cl, dl
mov byte [rbp - 0x65], cl
cmp eax, 0x15c6b35a
jb 0x140153dec
mov al, byte [rbp - 0x65]
test al, 1
jne 0x140153b67
jmp 0x140153cd1
mov eax, dword [0x14021fe18]
mov ecx, 0x9a117fd3
xor ecx, 0xa8473277
xor eax, ecx
xor edx, edx
div dword [0x14021fe1c]
mov ecx, 0x1fcf57cd
xor ecx, 0x63a7383d
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xc7dce1cc
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xf9df0610
xor r8d, 0x620f9ef
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc7dce1cc
or eax, 0xc7dce1cc
imul eax, edx
add eax, ecx
add eax, 0x522b1c95
cmp eax, 0x6644cfda
je 0x140153df5
mov eax, dword [0x14021fe20]
imul eax, dword [0x14021fe24]
mov ecx, 0xe3a2618b
xor ecx, 0xd3cf5c2
add eax, ecx
mov ecx, 0x7e54a512
xor ecx, 0x75a1b884
sub eax, ecx
sub eax, 0xee9e9449
mov ecx, 0x3b41c393
xor edx, edx
div ecx
mov ecx, 0xf3c48928
xor ecx, 0x47f96943
and eax, ecx
mov dword [rbp - 0x74], eax
movabs rcx, 0x7f824259666aba07
movabs rax, 0x7f824259666aba47
xor rcx, rax
movabs rdx, 0x9d8650f91fa9ecc
movabs rax, 0x9d8650f91fa9ec4
xor rdx, rax
sub rsp, 0x20
call fcn.140015160
add rsp, 0x20
mov rcx, rax
mov rax, qword [str.pf__]
mov qword [rcx], rax
lea rax, [0x14022ce68]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14022cf18]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14022cf20]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14022ce68]
lea r8, [0x14022ceff]
lea r9, [0x14022ce82]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffa51f2fe6
call fcn.140014c00
mov eax, dword [rbp - 0x74]
add rsp, 0x30
cmp eax, 0x8c937414
jae 0x140153bdd
jmp 0x140153ddd
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov qword [rbp - 0x10], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 8], rax
lea rcx, [rbp - 0x10]
sub rsp, 0x20
call fcn.140151943
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x80], rcx
mov al, byte [rax]
mov cl, 0xe4
xor cl, 0xe4
cmp al, cl
jne 0x140153ddd
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
sub rsp, 0x30
mov r8, rsp
mov dword [r8 + 0x28], 5
mov dword [r8 + 0x20], 0
xor r8d, r8d
mov r9d, r8d
mov r8, r9
call rax
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov al, byte [rax]
test al, al
sete al
test ecx, ecx
sets cl
and al, cl
test al, 1
jne 0x140153d65
jmp 0x140153ddd
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140015160
add rsp, 0x20
mov rcx, rax
mov rax, qword [str.pf__]
mov qword [rcx], rax
lea rax, [0x14022ce68]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14022cf18]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14022cf20]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14022ce68]
add byte [rax - 0x73], cl
adc eax, 0xd90af
lea r8, [0x14022ceff]
lea r9, [0x14022ce82]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff9c99967a
call fcn.140014c00
add rsp, 0x30
lea rsp, [rbp + 0x20]
pop rbp
ret
cld
push rdx
sbb al, 0x9c
jmp 0x140153863
invalid
je 0x140153db1
sbb ch, byte [rsi]
jmp 0x140153bdd