Function at 0x1400a8830
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], r9
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x38], rcx
mov eax, 0x10
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
sub rsp, 0x20
call fcn.1400a8096
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp + 0x48], rax
add rax, 0x60
mov qword [rbp + 0x40], rax
mov rax, qword [rcx]
mov qword [rbp + 0x58], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x58]
sub rsp, 0x20
call fcn.1400a9100
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x50], rcx
cmp byte [rax + 0x60], 0
jne 0x1400a90c2
mov ecx, dword [0x1401f63a8]
or ecx, dword [0x1401f63ac]
sub ecx, 0x3a2683f2
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xcea5792a
mov edx, 0xffffffff
xor edx, 0xcea5792a
and ecx, edx
or eax, ecx
add eax, 0x4679a17
cmp eax, 0xd635662e
jae 0x1400a90ca
mov r8, qword [rbp + 0x18]
mov r9, qword [rbp + 0x50]
mov edi, dword [0x1401f63b0]
xor edi, 0x89e39d8e
mov esi, dword [0x1401f63b4]
xor esi, 0x199c58f1
mov ecx, edi
xor ecx, 0xffffffff
mov edx, esi
xor edx, 0xffffffff
mov r10d, 0x32778cfa
xor r10d, 0x9522138a
mov eax, 0xd0b7f17b
xor eax, 0x2f480e84
xor r10d, eax
mov eax, ecx
and eax, 0xa7559f70
and edi, r10d
mov r11d, edx
and r11d, 0xa7559f70
and esi, r10d
or eax, edi
or r11d, esi
xor eax, r11d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x60fc6c83
xor edx, 0xc7a9f3f3
or edx, r10d
and ecx, edx
or eax, ecx
imul eax, eax, 0x2954c6b9
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb03929b5
mov r10d, 0xffffffff
xor r10d, 0xb03929b5
mov ecx, eax
and ecx, r10d
imul ecx, edx
mov edx, eax
and edx, 0xb03929b5
mov r10d, 0x89202513
xor r10d, 0x39190ca6
or eax, r10d
imul eax, edx
add eax, ecx
mov edx, 0x330db07f
xor edx, 0x330db07e
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x17a1f1c1
add eax, ecx
mov rdx, r9
sub rdx, r8
mov qword [rbp + 8], rdx
mov rcx, rdx
xor rcx, r9
cmp rcx, 0
setl cl
xor rdx, r8
movabs r8, 0x144b244c56b29f65
movabs r9, 0xebb4dbb3a94d609a
xor r8, r9
cmp rdx, r8
setg r8b
mov dl, cl
xor dl, r8b
xor dl, 0xff
or cl, r8b
and cl, dl
mov byte [rbp + 0x17], cl
cmp eax, 0x7d5eb18d
je 0x1400a88f3
mov al, byte [rbp + 0x17]
test al, 1
jne 0x1400a8a2c
jmp 0x1400a8aa1
mov eax, dword [0x1401f63b8]
add eax, dword [0x1401f63bc]
or eax, 0x74296d59
and eax, 0x91b80ebd
xor eax, 0x26afdc2c
cmp eax, 0x7eda919f
je 0x1400a90d3
mov eax, dword [0x1401f63c0]
mov edx, dword [0x1401f63c4]
xor edx, 0xf9739a3d
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0x86694cec
xor edx, edx
div ecx
imul eax, eax, 0x8ac470ba
xor eax, 0xbd8a779a
mov dword [rbp + 4], eax
sub rsp, 0x20
call fcn.1400091c0
mov eax, dword [rbp + 4]
add rsp, 0x20
cmp eax, 0xbac77a76
jb 0x1400a8a52
jmp 0x1400a90c2
mov r8, qword [rbp + 8]
movabs rcx, 0xca0f9aeeee8eaca4
movabs rax, 0x35f065111171535b
xor rcx, rax
mov rax, r8
add rax, rcx
mov qword [rbp - 8], rax
movabs rcx, 0xa5a5804e941fd467
movabs rdx, 0x5a5a7fb16be02b98
xor rcx, rdx
mov rdx, rax
xor rdx, rcx
mov rcx, r8
and rcx, rdx
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
or rcx, rdx
movabs rdx, 0xa3c205a5b5c18cd6
movabs r8, 0xa3c205a5b5c18cd6
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0xffffffffffffffff
setg cl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x1400a8b30
jmp 0x1400a8c05
mov eax, dword [0x1401f63c8]
xor eax, 0x34c8db7
xor eax, dword [0x1401f63cc]
and eax, 0xf9b1d874
mov r8d, 0xffffffff
xor r8d, 0x8ff059ea
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8ff059ea
or eax, 0x8ff059ea
imul eax, edx
add eax, ecx
xor eax, 0x4cfb142c
cmp eax, 0x99a47566
jbe 0x1400a90dc
mov eax, dword [0x1401f63d0]
xor eax, 0x2deae44c
mov edx, dword [0x1401f63d4]
mov ecx, 0x206a8322
xor ecx, 0xa25d065b
xor edx, ecx
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov eax, 0x862ce533
xor eax, 0x862ce533
mov edx, 0xac874329
xor edx, 0xba8c2640
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x18bf262e
mov edx, 0xffffffff
xor edx, 0x18bf262e
and ecx, edx
or eax, ecx
xor eax, 0x6cc16b8d
mov dword [rbp - 0xc], eax
sub rsp, 0x20
call fcn.1400091c0
mov eax, dword [rbp - 0xc]
add rsp, 0x20
cmp eax, 0x30285f04
je 0x1400a90dc
jmp 0x1400a90c2
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x38]
mov r10, qword [rbp + 0x18]
mov rdx, qword [rbp - 8]
movabs r9, 0xe1e394234a448dc0
movabs r8, 0x52185b8a69c97661
xor r9, r8
mov r8, rcx
add r8, r9
add r8, 0xffffffffffffffff
movabs r9, 0xe76d1d10d214b8f
movabs r11, 0xbd8d1e782eacb02e
xor r9, r11
sub r8, r9
mov qword [rbp - 0x40], r8
mov r9, r8
sub r9, rdx
cmovl rdx, r8
mov qword [rbp - 0x38], rdx
mov rdx, r10
xor rdx, 0xffffffffffffffff
movabs r8, 0xbd4064e8f23d4df2
and rdx, r8
mov r9, 0xffffffffffffffff
movabs r8, 0xbd4064e8f23d4df2
xor r9, r8
and r10, r9
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r11, 0xbd4064e8f23d4df2
and r8, r11
and r9, 0xffffffffffffffff
or rdx, r10
or r8, r9
xor rdx, r8
mov qword [rbp - 0x30], rdx
add rax, 8
mov qword [rbp - 0x28], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp - 0x18], rax
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x48], rax
cmp rax, rcx
jg 0x1400a90c2
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x48]
mov r8, qword [rbp + 0x18]
xor ecx, ecx
sub rcx, r8
sub rax, rcx
mov qword [rbp - 0x50], rax
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400a8dd8
mov eax, dword [0x1401f63d8]
mov r8d, dword [0x1401f63dc]
mov ecx, 0x245aab55
xor ecx, 0xdba554aa
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
or eax, 0x19aeea07
and eax, 0xeb1722de
mov ecx, eax
and ecx, 0xbc0a3cf2
shl ecx, 1
add eax, 0xbc0a3cf2
sub eax, ecx
cmp eax, 0xd48e342e
ja 0x1400a90e5
mov eax, dword [0x1401f63e0]
xor eax, 0x7adce3ee
or eax, dword [0x1401f63e4]
imul eax, eax, 0xdd8c0ea4
mov ecx, 0x27ca67e6
xor ecx, 0xd8359819
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0x31b63a2
mov ecx, 0xffffffff
xor ecx, 0x2cb60232
or eax, edx
or ecx, 0x2cb60232
xor eax, 0xffffffff
and eax, ecx
or eax, 0xb31b64ef
mov dword [rbp - 0x54], eax
sub rsp, 0x20
call fcn.1400091c0
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0xc20c5b83
je 0x1400a8d69
jmp 0x1400a90c2
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x20]
cmp rax, rcx
jne 0x1400a8e03
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x1400a90c2
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp - 0x48]
mov ax, word [rax + rcx*2]
mov word [rbp - 0x6a], ax
sub rsp, 0x20
call fcn.1400a8096
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x68], rdx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400a9100
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x60], rcx
cmp byte [rax + 0x60], 0
jne 0x1400a90a7
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x50]
cmp rax, rcx
jg 0x1400a8eed
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140016330
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402085a0]
mov qword [rcx], rax
lea rax, [0x140206a29]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140206a58]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hj__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140206a29]
lea r8, [0x140206a68]
lea r9, [0x140206a6c]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffa9a918a5
call fcn.140016090
add rsp, 0x30
jmp 0x1400a90a7
mov eax, dword [0x1401f63e8]
add eax, dword [0x1401f63ec]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xddebeaff
mov r8d, 0xffffffff
xor r8d, 0xddebeaff
and edx, r8d
xor ecx, 0xffffffff
mov r8d, 0x9f78891
xor r8d, 0xf608776e
xor edx, r8d
and ecx, edx
or eax, 0xddebeaff
xor eax, 0xffffffff
or ecx, eax
mov eax, 0x812e6c60
xor eax, 0x7ed1939f
xor ecx, eax
mov eax, 0xd095dda6
xor eax, 0xc755054
imul ecx, eax
mov edx, 0x4cf6ed5e
xor edx, 0xb30912a1
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x2cf017b5
xor eax, 0xffffffff
mov edx, 0x2cf017b5
and edx, 0x2cf017b5
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x576e962c
xor edx, 0xa89169d3
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x70e10906
ja 0x1400a90ee
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x1401f63f0]
mov r8d, dword [str.___b]
mov edx, eax
xor edx, r8d
xor r8d, 0xffffffff
and eax, r8d
shl eax, 1
sub eax, edx
or eax, 0xb1f4451a
or eax, 0x68924f9f
or eax, 0xb18a2afb
mov dword [rbp - 0x70], eax
mov edx, 2
lea r8, [rbp + 0x68]
sub rsp, 0x20
call fcn.1400a7020
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x70]
mov byte [rbp - 0x6b], cl
cmp eax, 0xe4c598d7
jb 0x1400a90ee
mov al, byte [rbp - 0x6b]
test al, 1
jne 0x1400a9013
jmp 0x1400a9025
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x1400a90a7
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x68]
mov qword [rbp - 0x80], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x78], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400a9093
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x78]
movabs rax, 0x267ddc296bbe12d7
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x94eb4005c0841d94
movabs r8, 0xb2969c2cab3a0f43
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140016582
add rsp, 0x20
jmp 0x1400a90a7
mov rcx, qword [rbp - 0x80]
mov dx, word [rbp - 0x6a]
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov word [rax + rcx + 8], dx
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x40]
mov cl, byte [rcx]
add rax, 1
cmp cl, 0
mov qword [rbp - 0x18], rax
je 0x1400a8cd1
lea rsp, [rbp + 0x70]
pop rdi
pop rsi
pop rbp
ret
movsb byte [rdi], byte [rsi]
and edx, esi
mov ecx, 0xfff820e9
call qword [rbx]
test byte [rax], dh
or ebp, ecx
jbe 0x1400a90d3
adc eax, dword [rax + rsi - 0x68916f5]
invalid
sub ah, byte [rcx + 0x24]
jmp 0x1400a90ca
xchg ecx, eax
cld
adc eax, 0xfffc7be9
inc dword [rdx - 0x160c1761]
scasd eax, dword [rdi]
invalid
invalid