Function at 0x14009a5c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xb0
call fcn.140095d05
mov qword [rsp + 0x80], rax
mov rcx, qword [0x140226fb8]
add rcx, 0x58
mov rax, qword [0x140215270]
mov qword [rsp + 0xa0], rax
mov rax, qword [0x140215278]
mov qword [rsp + 0xa8], rax
lea rdx, [rsp + 0xa0]
call fcn.140015990
mov ecx, 0x45d
call fcn.140068140
mov rcx, rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x88], rcx
mov al, byte [rax]
mov cl, 0x90
xor cl, 0x90
cmp al, cl
jne 0x14009ab85
mov eax, dword [0x140204b08]
xor eax, 0x825607aa
add eax, dword [0x140204b0c]
mov ecx, 0x607b1326
xor ecx, 0xc7fb9d3
add eax, ecx
or eax, 0x2db0400c
xor eax, 0xfb426de6
mov ecx, 0x465f51fa
xor ecx, 0xb49c799e
cmp eax, ecx
ja 0x14009ab8f
mov eax, dword [0x140204b10]
add eax, dword [0x140204b14]
mov ecx, 0x2ec86b2e
xor edx, edx
div ecx
mov ecx, 0x8662de3
xor ecx, 0xc5f56de2
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x88]
imul eax, eax, 0x9f808f73
mov dword [rsp + 0x78], eax
mov rcx, qword [0x140226fb8]
call fcn.140037463
mov rcx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x78]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x7f], cl
cmp eax, 0x7f88ebe3
ja 0x14009a672
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x14009a6e6
jmp 0x14009ab85
mov ecx, 8
mov edx, 4
call fcn.140014320
mov rdx, rax
mov qword [rsp + 0x60], rdx
mov dword [rdx + 4], 1
lea rcx, [rsp + 0x90]
call fcn.14006c990
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x70], rcx
cmp byte [rax], 0
jne 0x14009a938
mov rax, qword [rsp + 0x68]
movabs rcx, 0xd4a2487bd38f4574
movabs rdx, 0xd4a2487bd38f4574
xor rcx, rdx
movabs rdx, 0x98e8ad2977385a11
movabs r8, 0x671752d6f7385a11
xor rdx, r8
sub rcx, rdx
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14009a7a4
mov rcx, qword [rsp + 0x68]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
call fcn.14000dc65
jmp 0x14009a938
mov eax, dword [0x140204b18]
mov ecx, dword [0x140204b1c]
mov edx, 0x6d5e3db3
xor edx, 0xc1bc543a
xor ecx, edx
xor eax, ecx
mov ecx, 0x6973a9f3
xor ecx, 0x3ed95cf7
add eax, ecx
sub eax, 0x425c9e1e
sub eax, 0x4242f38e
add eax, 0x425c9e1e
mov r8d, 0xffffffff
xor r8d, 0x7467764f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7467764f
or eax, 0x7467764f
imul eax, edx
add eax, ecx
cmp eax, 0xc56668d3
jb 0x14009ab98
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x140204b20]
mov edx, dword [0x140204b24]
xor edx, 0x3879fe02
or eax, edx
sub eax, 0xb0041457
xor eax, 0xa4a785ab
mov edx, eax
and edx, 0xd52172cd
mov r8d, 0x9607a900
xor r8d, 0x69f856ff
xor edx, r8d
add eax, 0xd52172cd
add eax, 1
add eax, edx
cmp rcx, 1
setl cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xb42089b7
jb 0x14009ab98
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x14009a881
jmp 0x14009a8d1
mov rcx, qword [rsp + 0x68]
movabs rax, 0x1a96d39beeb04075
movabs rdx, 0x1a96d39beeb04075
xor rax, rdx
sub rax, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rax, rcx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
movabs rcx, 0x9f4a64a7dd54a12d
movabs rax, 0x9f4a64a7dd54a12d
xor rcx, rax
call fcn.140014583
jmp 0x14009a938
mov r10, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov r11d, eax
mov rcx, qword [0x140226fb8]
add r10, 8
mov rax, qword [str.po__]
mov r8, qword [rax + 8]
mov rax, r8
add rax, 8
xor edx, edx
cmp r8, 0
cmove rax, rdx
mov edx, 0xfffffffd
xor r9d, r9d
xor r8d, r8d
mov r8d, r9d
mov dword [rsp + 0x20], r11d
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x48], 0
call fcn.140098d00
mov ecx, dword [0x140204b28]
and ecx, dword [0x140204b2c]
mov edx, 0x3141a3f1
xor edx, 0x62ed3f2e
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x53ac9cdf
and ecx, edx
shl ecx, 1
sub ecx, eax
mov edx, 0xa569f89a
xor edx, 0x88dcca3e
mov eax, 0xf1c3eb1b
xor eax, 0xe3c14e4
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf884b4c2
mov r8d, 0xffffffff
xor r8d, 0xf884b4c2
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xd9d7911c
xor r8d, 0x215325de
mov edx, eax
and edx, r8d
or eax, 0xf884b4c2
imul eax, edx
add eax, ecx
mov ecx, 0x4c10bdcd
xor ecx, 0xeccfd23
cmp eax, ecx
jb 0x14009aba1
mov rcx, qword [rsp + 0x60]
mov esi, dword [0x140204b30]
mov r11d, dword [0x140204b34]
xor r11d, 0x2b07f21d
mov eax, esi
xor eax, 0xffffffff
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xfd9ca8e4
mov edx, eax
and edx, 0xfd9ca8e4
and esi, r8d
mov r10d, r9d
and r10d, 0xfd9ca8e4
and r11d, r8d
or edx, esi
or r10d, r11d
xor edx, r10d
or eax, r9d
xor eax, 0xffffffff
or r8d, 0xfd9ca8e4
and eax, r8d
or edx, eax
mov r8d, 0xffffffff
xor r8d, 0x4110dc48
mov eax, edx
and eax, r8d
mov r9d, 0xa53f9bf2
xor r9d, 0xe42f47ba
mov r8d, edx
xor r8d, r9d
add edx, r8d
sub edx, eax
mov eax, 0x4f840606
xor eax, 0xcac2bc48
add edx, eax
mov r8d, 0xd4af8196
xor r8d, 0x2b507e69
mov eax, edx
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0x38b62c8e
xor r8d, 0xc749d371
xor eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x1e673d0
or eax, r8d
mov r8d, 0x9ae56e06
xor r8d, 0x9b031dd6
mov r9d, 0x14eb934e
xor r9d, 0xeb146cb1
xor r8d, r9d
mov r9d, 0xe71d78c8
xor r9d, 0xe6fb0b18
mov r10d, 0xe822409f
xor r10d, 0x17ddbf60
xor r9d, r10d
or r8d, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
and eax, edx
mov edx, 0xa20d9f7c
xor edx, 0x5df26083
xor eax, edx
mov dword [rsp + 0x58], eax
call fcn.1400880e1
mov rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x58]
cmp rcx, 0
sete cl
mov byte [rsp + 0x5e], cl
cmp eax, 0xd4ece767
ja 0x14009aba1
mov al, byte [rsp + 0x5e]
test al, 1
jne 0x14009ab85
jmp 0x14009ab36
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x507cbd73bd065f8f
movabs rdx, 0x507cbd73bd065f8f
xor rcx, rdx
cmp rax, rcx
jne 0x14009ab85
mov rcx, qword [rsp + 0x70]
call fcn.14000fb44
nop
add rsp, 0xb0
pop rsi
ret
mov edx, 0xe9dfffa9
invalid
cmc
or byte [rbx + 0x28], 0xe9
sub cl, ch
je 0x14009ab9b
invalid
retf