Function at 0x1400365c0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xe8
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xb0], rcx
call fcn.140036523
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0xc0], rax
mov rcx, 0xffffffffffffffff
xor eax, eax
cmp rdx, 0
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
jle 0x140036685
mov rax, qword [rsp + 0xb0]
mov dl, byte [rax]
mov byte [rsp + 0xa7], dl
mov rcx, 0xffffffffffffffff
mov eax, 1
cmp dl, 0x2b
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
je 0x140036685
mov r8b, byte [rsp + 0xa7]
cmp r8b, 0x2d
sete al
mov rcx, 0xffffffffffffffff
mov edx, 1
cmp r8b, 0x2d
cmove rcx, rdx
and al, 1
movzx eax, al
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
xor eax, eax
cmp rcx, rdx
mov qword [rsp + 0x98], rax
jge 0x140036be8
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x88]
mov cl, byte [rax + rcx]
xor eax, eax
sub al, 0xd0
sub cl, al
xor eax, eax
cmp cl, 0xa
mov qword [rsp + 0x98], rax
jae 0x140036be8
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], 0
mov qword [rsp + 0x80], rax
jmp 0x14003671d
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x70], rax
cmp rax, rcx
jge 0x140036ac0
mov rax, qword [rsp + 0x70]
cmp rax, 0xffffffffffffffff
jg 0x14003676f
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffff
call fcn.140012b72
xor eax, eax
mov qword [rsp + 0x98], rax
jmp 0x140036be8
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x70]
mov al, byte [rax + rcx]
mov byte [rsp + 0x6f], al
mov cl, 0x39
xor cl, 0xe9
add al, cl
cmp al, 0xa
jae 0x140036ac0
mov al, byte [rsp + 0x6f]
movzx eax, al
mov edx, eax
movabs rcx, 0xa6c3f5d9a2235137
movabs rax, 0x593c0a265ddcaee7
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x58], rax
movabs rcx, 0xb0d077b5b9927dde
movabs rax, 0x30d077b5b9927dee
xor rcx, rax
xor rcx, rdx
movabs rax, 0xdba5608a9ed0d895
movabs r8, 0x245a9f75612f276a
xor rax, r8
xor rdx, rax
movabs rax, 0x8000000000000030
and rdx, rax
movabs rax, 0x7743f9715efd0fd7
movabs r8, 0x7743f9715efd0fd5
xor rax, r8
imul rax, rdx
sub rax, rcx
mov ecx, 0xa
xor edx, edx
div rcx
mov rdx, rax
mov rax, qword [rsp + 0xa8]
xor ecx, ecx
sub rcx, rdx
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
cmp rax, rcx
jl 0x1400368da
mov rcx, qword [rsp + 0x60]
movabs rdx, 0xc6b62ee90fd0df7
movabs rax, 0xc6b62ee90fd0dfd
xor rdx, rax
lea r8, [rsp + 0xe0]
call fcn.140036c0a
test al, 1
jne 0x1400368c6
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0xe0]
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x50], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x1400368c6
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x1400368fa
call fcn.140008d37
xor eax, eax
mov qword [rsp + 0x98], rax
jmp 0x140036be8
call fcn.14003653e
mov rcx, qword [rsp + 0xc0]
xor eax, eax
cmp byte [rcx], 0
mov qword [rsp + 0x98], rax
jne 0x140036be8
mov eax, dword [0x140242930]
and eax, dword [0x140242934]
mov edx, eax
xor edx, 0xffffffff
and edx, 0x82cafa3c
mov r8d, 0xffffffff
xor r8d, 0x82cafa3c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x4460aa62
xor r8d, 0xc6aa505e
mov edx, eax
and edx, r8d
or eax, 0x82cafa3c
imul eax, edx
add eax, ecx
mov ecx, 0x2c38f57c
xor ecx, 0x33ca29bf
and eax, ecx
sub eax, 0xb850066c
sub eax, 0xaec81f17
add eax, 0xb850066c
cmp eax, 0x8ee47eaa
jae 0x140036bf8
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x70]
mov r8d, dword [0x140242938]
mov eax, 0x3a36b69
xor eax, 0x92287c5f
xor r8d, eax
mov eax, dword [0x14024293c]
xor eax, 0x19fe642e
and r8d, eax
mov eax, r8d
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r9d, 0xa7e46118
xor r9d, 0xe81af4f
mov r10d, 0x48dd59dd
xor r10d, 0xb722a622
xor r9d, r10d
or eax, r9d
mov r9d, 0xa965ce57
and r9d, 0xa965ce57
mov r10d, 0x7b9cc6e7
xor r10d, 0x84633918
xor r9d, r10d
and r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0x3d9f1628
xor r9d, 0xc260e9d7
xor eax, r9d
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0x59301b29
xor r8d, 0xb3e46314
or eax, r8d
imul eax, eax, 0x4b8449e6
xor r8d, r8d
sub r8, 1
sub rcx, r8
mov r8, rdx
sub r8, rcx
cmovg rcx, rdx
mov qword [rsp + 0x48], rcx
cmp eax, 0xe8f5d591
jae 0x140036969
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
jmp 0x140036a47
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x40]
movabs r8, 0x978e8fff4535b412
movabs r9, 0xac92f26a1a0f2794
xor r8, r9
sub rcx, r8
add rcx, 1
movabs r8, 0x3b1c7d955f3a9386
add rcx, r8
mov qword [rsp + 0x38], rcx
cmp rcx, rdx
mov qword [rsp + 0x78], rax
jge 0x140036710
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xb0]
cmp byte [rcx + rax], 0x5f
mov rcx, rax
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x40], rax
je 0x140036a47
jmp 0x140036710
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x90]
not rax
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
movabs rdx, 0x8000000000000000
xor rcx, rdx
or rax, rcx
sete al
test al, 1
jne 0x140036afb
jmp 0x140036b0f
call fcn.14003653e
xor eax, eax
mov qword [rsp + 0x98], rax
jmp 0x140036be8
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0xd8]
call fcn.140036c0a
test al, 1
jne 0x140036b36
jmp 0x140036b47
call fcn.140008d37
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x140036bdb
mov eax, dword [0x140242940]
mov edx, dword [0x140242944]
xor ecx, ecx
sub ecx, edx
add eax, ecx
and eax, 0xbd42bab
imul eax, eax, 0x34483098
xor eax, 0x6c83f350
mov ecx, 0xf54ed6d7
xor ecx, 0xaf71a7e9
cmp eax, ecx
je 0x140036c01
mov rcx, qword [rsp + 0xa8]
mov eax, dword [str.__3yb]
mov edx, dword [0x14024294c]
xor edx, 0x78b80752
sub eax, edx
mov edx, 0x3f79fcaf
xor edx, 0xd59cd16d
imul eax, edx
add eax, 0x47f97f92
mov r8d, 0x7d162a9c
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xd8]
mov qword [rcx], rdx
cmp eax, 0xd89eb81b
je 0x140036b7c
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
jmp 0x140036bdb
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
add rsp, 0xe8
ret
sbb al, bh
imul ecx
push 0x54fffffd
push rsp
xor byte [rax + riz*2], bh
jmp 0x140036b7c