Function at 0x1400a7540
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x30], rcx
mov eax, 0x10
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.1400a6fc3
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
add rax, 0x50
mov qword [rbp - 0x10], rax
mov qword [rcx], 0
mov rax, rcx
add rax, 8
mov qword [rbp - 8], rax
mov qword [rcx + 8], 0
cmp rdx, 0
je 0x1400a7b7a
mov eax, dword [0x140245fe8]
xor edx, edx
div dword [0x140245fec]
mov ecx, 0x467692fa
xor edx, edx
div ecx
add eax, 0x61eab6c5
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xa7080206
xor edx, 0x275ae23d
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x8052e03b
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8052e03b
or eax, 0x8052e03b
imul eax, edx
add eax, ecx
cmp eax, 0xbe68a722
je 0x1400a7ca6
mov rcx, qword [rbp - 0x38]
mov edx, dword [0x140245ff0]
xor edx, 0x9f04dd81
add edx, dword [0x140245ff4]
mov eax, edx
xor eax, 0xcdea056c
mov r8d, 0xffffffff
xor r8d, 0xcdea056c
and edx, r8d
shl edx, 1
sub edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0x60a616b2
xor edx, 0xb5933b78
mov r8d, 0x9d981710
xor r8d, 0x48ad3ada
and edx, r8d
mov r8d, 0xc92c14dd
xor r8d, 0x36d3eb22
xor edx, r8d
and eax, edx
xor eax, 0xffffffff
sub eax, 0xe05ca4ee
mov dword [rbp - 0x44], eax
mov eax, 0xf9e5a11b
xor eax, 0x14c16df0
mov dword [rbp - 0x48], eax
sub rsp, 0x20
call fcn.1400a645e
mov rdx, qword [rbp - 0x10]
mov ecx, dword [rbp - 0x48]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x44]
mov dword [rbp - 0x40], r8d
mov dl, byte [rdx]
mov r8b, 0xf6
xor r8b, 0xf6
cmp dl, r8b
sete dl
mov byte [rbp - 0x39], dl
cmp eax, ecx
jbe 0x1400a7ca6
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1400a76de
jmp 0x1400a7b7a
mov r9d, dword [rbp - 0x40]
mov r8, qword [rbp - 0x18]
xor edx, edx
xor eax, eax
sub rsp, 0x30
mov ecx, edx
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
call qword [0x14026c030]
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 0x10]
mov dword [rbp - 0x4c], ecx
mov al, byte [rax]
mov cl, 0xbf
xor cl, 0xbf
cmp al, cl
jne 0x1400a7b7a
mov r8, qword [rbp - 0x28]
mov eax, dword [rbp - 0x4c]
movsxd rcx, eax
movabs rdx, 0xf0a9d8169337b5
movabs rax, 0xf0a9d8169337b7
xor rdx, rax
sub rsp, 0x20
call fcn.1400a5cfe
add rsp, 0x20
test al, 1
jne 0x1400a775e
jmp 0x1400a7770
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x1400a7b7a
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
movabs rcx, 0xe022bb5bec72fca1
movabs rdx, 0x1346bb366c68d9fa
xor rcx, rdx
add rax, rcx
add rax, 0xffffffff80000000
movabs rcx, 0xf364006d801a255b
sub rax, rcx
movabs rcx, 0x490caf1b3ce92f4d
movabs rdx, 0xb6f350e43ce92f4d
xor rcx, rdx
cmp rax, rcx
jae 0x1400a77da
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x1400a7b7a
mov rax, qword [rbp - 0x58]
movabs rcx, 0xaace9222f6af10dd
movabs rdx, 0xaace9222f6af10dd
xor rcx, rdx
cmp rax, rcx
jge 0x1400a7842
mov rcx, qword [rbp - 0x58]
movabs rdx, 0x8d90757129726f7c
movabs rax, 0x8d90757129726f7c
xor rdx, rax
movabs r8, 0x2f13c26259e006df
movabs rax, 0x50ec3d9da61ff920
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x1400a7b7a
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000bbdd
add rsp, 0x20
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x1400a7b7a
mov rcx, qword [rbp - 0x38]
sub rsp, 0x20
call fcn.1400a645e
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x10]
mov dword [rbp - 0x64], ecx
cmp byte [rax], 0
jne 0x1400a7b7a
mov eax, dword [0x140245ff8]
xor eax, dword [0x140245ffc]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0xe2ba1b16
xor edx, 0x34deb169
or eax, edx
add eax, ecx
mov ecx, 0x1365b870
xor edx, edx
div ecx
mov ecx, 0xdc5397a9
xor edx, edx
div ecx
mov ecx, 0x5e58e2ab
xor ecx, 0x1f158077
cmp eax, ecx
jae 0x1400a7caf
mov r10, qword [rbp - 0x60]
mov r9d, dword [rbp - 0x64]
mov r8, qword [rbp - 0x18]
mov eax, dword [0x140246000]
mov edx, dword [0x140246004]
mov ecx, 0x1e7273e1
xor ecx, 0x1e7273e1
sub ecx, edx
add eax, ecx
mov ecx, 0xb34ddb0c
xor edx, edx
div ecx
xor eax, 0x34613629
mov ecx, 0x1072bf50
xor ecx, 0x512978b2
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [rbp - 0x4c]
mov dword [rbp - 0x6c], ecx
xor edx, edx
sub rsp, 0x30
mov ecx, edx
mov qword [rsp + 0x20], r10
mov dword [rsp + 0x28], eax
call qword [0x14026c030]
mov rcx, qword [rbp - 0x10]
add rsp, 0x30
mov eax, dword [rbp - 0x6c]
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x65], cl
cmp eax, 0x1d2f9c55
jae 0x1400a78cc
mov al, byte [rbp - 0x65]
test al, 1
jne 0x1400a795e
jmp 0x1400a7b7a
mov ecx, dword [0x140246008]
and ecx, dword [0x14024600c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x9851fc04
xor edx, 0x84438ac6
mov r8d, 0x18d933f
xor r8d, 0xfe726cc0
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1c1276c2
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x9c794ecc
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, 0xd2b87e48
mov edx, 0x231dac1f
xor edx, 0xdce253e0
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd2b87e48
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x4a24561a
xor ecx, 0x87b2f599
cmp eax, ecx
jbe 0x1400a7cb8
mov r9d, dword [rbp - 0x4c]
mov r8, qword [rbp - 0x60]
mov eax, dword [0x140246010]
mov ecx, dword [0x140246014]
xor ecx, 0x439e2030
and eax, ecx
mov ecx, 0xfe528c38
xor ecx, 0xe1b1433c
or eax, ecx
sub eax, 0x586b1468
or eax, 0x5f9c2e4d
mov dword [rbp - 0x78], eax
mov ecx, 0xfde9
xor edx, edx
xor eax, eax
sub rsp, 0x40
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call qword [0x14026c038]
mov rcx, qword [rbp - 0x10]
add rsp, 0x40
mov edx, eax
mov eax, dword [rbp - 0x78]
mov dword [rbp - 0x74], edx
mov cl, byte [rcx]
mov dl, 0x2f
xor dl, 0x2f
cmp cl, dl
sete cl
mov byte [rbp - 0x6d], cl
cmp eax, 0xf0a8071c
jae 0x1400a7cb8
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x1400a7a94
jmp 0x1400a7b7a
mov eax, dword [rbp - 0x74]
movsxd rcx, eax
mov qword [rbp - 0x80], rcx
mov ecx, 0xfa2aa756
xor ecx, 0xfa2aa756
cmp eax, ecx
jge 0x1400a7ad5
mov rcx, qword [rbp - 0x80]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x1400a7b7a
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140018c28
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a7b7a
mov eax, dword [rbp - 0x74]
mov r9d, dword [rbp - 0x4c]
mov r8, qword [rbp - 0x60]
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x20]
mov rdx, qword [rdx]
mov r10, qword [rcx]
add r10, 8
lea rcx, [0x1402588b0]
cmp rdx, 0
cmove r10, rcx
mov ecx, 0xfde9
xor edx, edx
xor r11d, r11d
sub rsp, 0x40
mov qword [rsp + 0x20], r10
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
call qword [0x14026c038]
add rsp, 0x40
mov rax, qword [rbp - 0x10]
mov al, byte [rax]
mov cl, 0x9e
xor cl, 0x9e
cmp al, cl
jne 0x1400a7b7a
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14001d422
add rsp, 0x20
mov ecx, dword [0x140246018]
xor ecx, 0x9f506c23
imul ecx, dword [0x14024601c]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0xc98752ed
xor eax, 0xffffffff
mov edx, 0xc98752ed
and edx, 0xc98752ed
xor edx, 0xffffffff
and ecx, edx
mov edx, 0xba4ab0b4
xor edx, 0x45b54f4b
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xc55ef2ff
xor ecx, 0xf07b66c8
mov edx, 0xa538ab49
xor edx, 0x5ac754b6
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0xa840175
xor ecx, 0x8335f397
or eax, ecx
cmp eax, 0x9027c8e5
jb 0x1400a7cc1
mov eax, dword [0x140246020]
mov r8d, dword [0x140246024]
xor r8d, 0x65eefb0c
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0x79a192cf
xor ecx, 0x865e6d30
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x4f9ab8c8
xor ecx, 0xf09963cb
xor eax, ecx
mov ecx, eax
and ecx, 0xd66e70ca
xor ecx, 0xffffffff
add eax, 0xd66e70ca
mov edx, 0xfc9250f9
xor edx, 0xfc9250f8
add eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x6b8d26dc
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x6b8d26dc
or eax, 0x6b8d26dc
imul eax, edx
add eax, ecx
cmp eax, 0xa89e7dfa
je 0x1400a7bf3
mov rax, qword [rbp - 0x30]
mov rsp, rbp
pop rbp
ret
out dx, eax
ret
invalid
invalid
cmp eax, 0xe9eb32d3
sub edi, edi
invalid