Function at 0x1400a9230
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x58], rdx
mov qword [rbp - 0x38], rcx
mov eax, 0x10
mov qword [rbp - 0x50], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp - 0x50]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov qword [rbp - 0x28], rax
add rax, 0x60
mov qword [rbp - 0x30], rax
mov edx, 0xb
sub rsp, 0x20
call fcn.140094700
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax + 0x60], 0
jne 0x1400a9816
mov eax, dword [0x1402ac6e8]
mov edx, dword [0x1402ac6ec]
xor edx, 0x1dcc07ca
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x9328f4ca
xor ecx, 0x9328f4ca
sub ecx, eax
xor eax, eax
sub eax, 0x21f53e3
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x21c34c60
xor ecx, 0xec0854ef
xor edx, edx
div ecx
add eax, 0x55273ac2
mov ecx, 0x3bad3316
xor ecx, 0xd96f5bd
cmp eax, ecx
je 0x1400a981c
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1402ac6f0]
xor edx, edx
div dword [0x1402ac6f4]
mov edx, eax
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0x2a0bebc9
xor r8d, 0xc2d1ad22
mov r9d, 0xf8d7dfe3
xor r9d, 0x728201c
xor r8d, r9d
mov r9d, 0xa1084607
xor r9d, 0x49d200ec
mov r10d, 0x7d76c5f2
xor r10d, 0x82893a0d
xor r9d, r10d
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x5af982e8
xor r8d, 0xa5067d17
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0xe8da46eb
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov r8d, 0x19fa73ec
xor r8d, 0x9b2b1140
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 0x58]
mov r8d, 0xf042a860
xor r8d, 0x53248cf0
add edx, r8d
mov dword [rbp - 0x60], edx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14009eda0
mov rcx, qword [rbp - 0x30]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0x8a0f186a
je 0x1400a981c
mov al, byte [rbp - 0x59]
test al, 1
jne 0x1400a9407
jmp 0x1400a9816
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov r8, qword [rax + 8]
mov qword [rdx], r8
mov rax, qword [rax + 0x10]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14009566d
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a9816
mov eax, dword [0x1402ac6f8]
xor eax, 0x96b55884
imul eax, dword [0x1402ac6fc]
xor eax, 0x6c9416c0
and eax, 0xb6f87a6e
xor ecx, ecx
sub ecx, 0xce92d2e5
add eax, ecx
cmp eax, 0xf8c4ba38
je 0x1400a9825
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov edx, dword [0x1402ac700]
and edx, dword [0x1402ac704]
xor edx, 0x3ede45cc
and edx, 0x5c754ef0
mov r8d, edx
and r8d, 0x3909e745
xor r8d, 0xffffffff
mov r9d, 0x3e9f3867
xor r9d, 0x796df22
add edx, r9d
mov r9d, 0x8c402265
xor r9d, 0x8c402264
add edx, r9d
add edx, r8d
mov dword [rbp - 0x68], edx
mov rdx, qword [rax + 0x18]
mov qword [rbp + 0x10], rdx
mov rax, qword [rax + 0x20]
mov qword [rbp + 0x18], rax
lea rdx, [rbp + 0x10]
sub rsp, 0x20
call fcn.14009566d
mov rcx, qword [rbp - 0x30]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x8e9721db
je 0x1400a946d
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1400a950d
jmp 0x1400a9816
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax + 0x28]
sub rsp, 0x20
call fcn.1400a84df
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a9816
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax + 0x30]
mov qword [rbp], rdx
mov rax, qword [rax + 0x38]
mov qword [rbp + 8], rax
mov rdx, rbp
sub rsp, 0x20
call fcn.1400a8a10
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a9816
mov rax, qword [rbp - 0x58]
mov rax, qword [rax + 0x40]
mov qword [rbp - 0x70], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x70]
call fcn.1400957f0
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a9816
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax + 0x48]
mov qword [rbp - 0x10], rdx
mov rax, qword [rax + 0x50]
mov qword [rbp - 8], rax
lea rdx, [rbp - 0x10]
sub rsp, 0x20
call fcn.14009566d
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a9816
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax + 0x58]
mov qword [rbp - 0x20], rdx
mov rax, qword [rax + 0x60]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x20]
sub rsp, 0x20
call fcn.1400a8e50
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a9816
mov eax, dword [0x1402ac708]
add eax, dword [0x1402ac70c]
imul eax, eax, 0x80d7546d
or eax, 0x2a588bc8
and eax, 0x95dcef9d
mov ecx, 0x2370fd8d
xor ecx, 0xdce240c3
cmp eax, ecx
ja 0x1400a982e
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1402ac710]
xor eax, dword [0x1402ac714]
add eax, 0xb831e3a1
mov edx, 0xdb9a77ec
xor edx, 0x642e9771
add eax, edx
sub eax, 0xb831e3a1
mov r8d, 0xcbc008ba
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 0x58]
mov r8d, 0xdbbc7eef
xor r8d, 0xe6ffaa27
sub edx, r8d
mov r8d, 0xbd15dc5e
xor r8d, 0x94045cfc
sub edx, r8d
add edx, 0x3d43d4c8
mov dword [rbp - 0x78], edx
mov rdx, qword [rax + 0x68]
sub rsp, 0x20
call fcn.1400a91c3
mov rcx, qword [rbp - 0x30]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x19
xor dl, 0x19
cmp cl, dl
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x2b8d975c
jb 0x1400a963f
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1400a96e2
jmp 0x1400a9816
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov al, byte [rax + 0x70]
mov dl, 0x48
xor dl, 0x48
cmp al, dl
setne dl
and dl, 1
sub rsp, 0x20
call fcn.1400a4cf3
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xcd
xor cl, 0xcd
cmp al, cl
jne 0x1400a9816
mov edx, dword [0x1402ac718]
mov eax, 0x6f1eb17f
xor eax, 0x377b9427
xor edx, eax
mov eax, dword [0x1402ac71c]
mov ecx, 0x96cebd6f
xor ecx, 0x184a136d
xor eax, ecx
sub edx, eax
mov ecx, edx
xor ecx, 0x66bc329f
mov eax, 0xffffffff
xor eax, 0x66bc329f
and edx, eax
mov eax, 0xd82dbeba
xor eax, 0xd82dbeb8
imul eax, edx
sub eax, ecx
mov ecx, 0x506adec0
xor edx, edx
div ecx
add eax, 0x25cac511
add eax, 0x33f2850a
sub eax, 0x25cac511
cmp eax, 0x537479f0
je 0x1400a9837
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov r9d, dword [0x1402ac720]
mov r10d, dword [0x1402ac724]
mov r8d, r9d
and r8d, r10d
mov r11d, 0x575fe45
xor r11d, 0x575fe47
imul r8d, r11d
xor r9d, r10d
add r9d, r8d
or r9d, 0xe7a2960d
mov r8d, r9d
and r8d, 0x421b7f25
or r9d, 0x421b7f25
add r8d, r9d
or r8d, 0xacc92e35
mov dword [rbp - 0x7c], r8d
mov r8, qword [rax + 0x78]
mov qword [rdx], r8
mov rax, qword [rax + 0x80]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400a8e50
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, 0xa5e365ac
je 0x1400a9787
jmp 0x1400a9816
lea rsp, [rbp + 0x20]
pop rbp
ret
or byte [rdi], al
add dword [rdi], 0xffffffe9
cmc
cli
invalid
enter 0x191e, 0x47
jmp 0x1400a946d
invalid
outsb dx, byte [rsi]
pop rsp
ret 0xe94c