Function at 0x14009ab30
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x60], rcx
mov eax, 0x10
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.140098f41
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov rax, qword [rdx]
mov qword [rbp - 0x38], rax
cmp rax, 0
je 0x14009ad58
mov rdx, qword [rbp - 0x38]
movabs rcx, 0x6930ed46cedc7e9a
movabs rax, 0x96cf12b931238165
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rbp - 0x68], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14009abe1
jmp 0x14009abf3
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x14009b019
mov r8d, dword [0x1401f5e38]
mov edx, dword [0x1401f5e3c]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xfb52ae1e
mov r9d, 0x7bad12c7
xor r9d, 0x80ffbcd9
mov ecx, 0x9e5e90c
xor ecx, 0xf61a16f3
xor r9d, ecx
and r8d, r9d
mov r10d, 0x9a3631a2
xor r10d, 0x65c9ce5d
mov ecx, edx
xor ecx, r10d
and ecx, 0xfb52ae1e
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0x2b5104bd
imul eax, eax, 0x63a78deb
imul eax, eax, 0xfc6adf27
cmp eax, 0xa8afae3a
jbe 0x14009b022
mov rdx, qword [rbp - 0x38]
mov eax, dword [0x1401f5e40]
xor eax, 0x56177b40
mov ecx, dword [0x1401f5e44]
mov r8d, 0xecc13d44
xor r8d, 0xcc6c9895
add eax, r8d
add eax, ecx
mov ecx, 0x2f97b033
xor ecx, 0xf3a15e2
sub eax, ecx
or eax, 0x1f4f918a
mov ecx, eax
add ecx, 1
mov r8d, 0xa17b16ae
xor r8d, 0x5e84e951
xor eax, r8d
mov r8d, 0x847e3f10
xor r8d, 0x54597b6a
or eax, r8d
add eax, ecx
add eax, 0x2cc03487
mov ecx, 0xb7359d47
xor ecx, 0x5fb7b941
movabs r8, 0x51065d4e59d3d2cb
movabs r9, 0x51065d4e59d3d2cb
xor r8, r9
cmp rdx, r8
setg dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
je 0x14009ac67
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14009ad28
jmp 0x14009ad0f
mov rdx, qword [rbp - 0x68]
sub rsp, 0x20
mov rcx, rdx
call fcn.140016582
add rsp, 0x20
jmp 0x14009b019
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x6a], al
sub al, 0x2f
je 0x14009ad58
jmp 0x14009ad48
mov al, byte [rbp - 0x6a]
sub al, 0x5c
jne 0x14009ad76
jmp 0x14009ad58
mov rax, qword [rbp - 0x50]
mov rcx, qword [0x140206758]
mov qword [rax], rcx
mov rcx, qword [str.xg__]
mov qword [rax + 8], rcx
jmp 0x14009b019
mov ecx, dword [0x1401f5e48]
mov edx, dword [0x1401f5e4c]
xor edx, 0x6898fece
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
xor eax, 0x56307e3e
mov ecx, 0x5dd6c350
xor ecx, 0x3ed4eacc
add eax, ecx
xor eax, 0x67283ebf
cmp eax, 0xdb0dbf50
jae 0x14009b02b
mov eax, dword [0x1401f5e50]
mov edx, dword [0x1401f5e54]
mov ecx, 0x7cd77395
xor ecx, 0x7cd77395
sub ecx, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xa8743b8a
mov edx, 0xd6428661
xor edx, 0xd6428661
mov r8d, 0xf3636174
xor r8d, 0xf3636175
sub edx, r8d
sub ecx, edx
sub eax, ecx
sub eax, 0xf0248332
mov ecx, 0x2a84f679
xor ecx, 0x4c8041c9
add eax, ecx
sub eax, 0x877caa60
sub eax, 0x6604b7b0
mov dword [rbp - 0x70], eax
mov eax, 0x75fe6df5
xor eax, 0xf37664c8
mov dword [rbp - 0x74], eax
lea rcx, [rbp - 0x20]
sub rsp, 0x20
call fcn.140098f60
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x30]
lea rdx, [rbp - 0x20]
sub rsp, 0x20
call fcn.14009a230
mov rdx, qword [rbp - 0x40]
mov ecx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x6b], dl
cmp eax, ecx
je 0x14009adb2
mov cl, byte [rbp - 0x6b]
mov al, 1
test cl, 1
mov byte [rbp - 0x75], al
jne 0x14009ae8d
jmp 0x14009aeba
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x10]
mov qword [rdx], rax
mov rax, qword [rbp - 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001d789
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x75], al
mov rax, qword [rbp - 0x40]
mov cl, byte [rbp - 0x75]
mov byte [rbp - 0x76], cl
mov byte [rax], 0
lea rcx, [rbp - 0x20]
sub rsp, 0x20
call fcn.140068670
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xb1
xor cl, 0xb1
cmp al, cl
jne 0x14009b019
mov ecx, dword [0x1401f5e58]
mov eax, 0x797ca042
xor eax, 0x273607de
xor ecx, eax
mov r8d, dword [0x1401f5e5c]
mov edx, 0x691e8a57
xor edx, 0x96e175a8
mov eax, ecx
xor eax, edx
mov edx, r8d
and edx, eax
mov eax, 0x6e19bb18
xor eax, 0x91e644e7
mov r9d, r8d
xor r9d, eax
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
sub ecx, 0xc194d509
mov eax, 0x12c822f2
xor eax, 0xf633aa40
imul ecx, eax
mov edx, 0x37789007
xor edx, 0x44a74742
mov eax, ecx
and eax, edx
mov edx, 0x39b18867
xor edx, 0x4a6e5f22
or ecx, edx
add eax, ecx
cmp eax, 0xeba95d27
ja 0x14009b034
mov r8b, byte [rbp - 0x76]
mov r9d, dword [0x1401f5e60]
mov edx, dword [0x1401f5e64]
xor edx, 0xec2e1eaa
mov ecx, r9d
xor ecx, 0xffffffff
and ecx, 0x952d9d69
mov r10d, 0xffffffff
xor r10d, 0x952d9d69
and r9d, r10d
mov eax, edx
xor eax, 0xffffffff
and eax, 0x952d9d69
and edx, r10d
or ecx, r9d
or eax, edx
xor ecx, eax
mov eax, ecx
or eax, 0xf60697ab
xor eax, 0xffffffff
mov edx, 0x86681494
xor edx, 0x7997eb6b
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xf60697ab
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
or eax, 0x3812b744
mov ecx, 0x2dd58618
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x40]
mov ecx, 0xda844a7c
xor ecx, 0xfc380b4f
mov byte [rdx], r8b
cmp eax, ecx
je 0x14009af79
jmp 0x14009b019
mov rax, qword [rbp - 0x60]
mov rsp, rbp
pop rbp
ret
sbb byte [rcx + rbp - 0x21], dl
jmp 0x14009ac67
jno 0x14009b053
retf 0x7ee9
mov ah, 0xec
stosb byte [rdi], al
jmp 0x14009af79
and al, 0x37