Function at 0x1400811f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x40], rcx
mov eax, 0x10
mov qword [rbp - 0x58], rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x58]
mov rcx, rsp
mov qword [rbp - 0x50], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.140071710
mov rcx, qword [rbp - 0x40]
add rsp, 0x20
mov qword [rbp - 0x38], rax
mov edx, 0xc
sub rsp, 0x20
call fcn.140071ec0
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400817e2
mov eax, dword [0x1401f52b8]
xor eax, 0xece45d9c
mov ecx, dword [0x1401f52bc]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x149841a7
xor ecx, 0x149841a7
mov edx, 0x4ce8579e
xor edx, 0xb6b2293d
sub ecx, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xdcb29ac8
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xbe1e94b3
xor r8d, 0x41e16b4c
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xdcb29ac8
mov r8d, 0x7a1235b3
xor r8d, 0xa6a0af7b
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x21d5636d
xor ecx, 0xdaf9b281
add eax, ecx
sub eax, 0x6707682d
sub eax, 0xfb2cd1ec
mov ecx, 0xe9527d9b
xor ecx, 0x23a8c840
cmp eax, ecx
ja 0x14008188c
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov edx, dword [0x1401f52c0]
sub edx, dword [0x1401f52c4]
imul edx, edx, 0xb2e634c6
mov r8d, 0xfa6c5be8
xor r8d, 0x5708fa30
imul edx, r8d
xor r8d, r8d
sub r8d, 0xc60ce810
sub edx, r8d
mov dword [rbp - 0x68], edx
mov edx, 0x1212b414
xor edx, 0xc7c3ba6b
mov dword [rbp - 0x6c], edx
mov rdx, qword [rax]
mov qword [rbp + 0x60], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x68], rax
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.140073127
mov rdx, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x6c]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x61], dl
cmp eax, ecx
ja 0x14008188c
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1400813a3
jmp 0x1400817e2
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x10]
mov qword [rbp + 0x50], rdx
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140073127
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400817e2
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov r8, qword [rax + 0x20]
mov qword [rdx], r8
mov rax, qword [rax + 0x28]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140073127
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400817e2
mov ecx, dword [0x1401f52c8]
add ecx, dword [0x1401f52cc]
mov eax, 0x54a5522c
xor eax, 0x9322866b
imul ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8472e5c
mov r8d, 0xffffffff
xor r8d, 0x8472e5c
and edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x8472e5c
mov edx, 0xf0a8f224
xor edx, 0xf570ddb
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x8b5601b0
xor ecx, 0x2faa0605
xor edx, edx
div ecx
mov ecx, 0x1fa161bc
xor ecx, 0xb7a641d3
cmp eax, ecx
ja 0x140081895
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1401f52d0]
mov edx, dword [0x1401f52d4]
xor edx, 0x1a339996
add eax, edx
mov r8d, 0x62cba800
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 0x60]
add edx, 0x1114ef3f
mov r8d, 0xd7cc8f8d
xor r8d, 0xfe75ef16
or edx, r8d
mov dword [rbp - 0x74], edx
mov rdx, qword [rax + 0x30]
mov qword [rbp + 0x40], rdx
mov rax, qword [rax + 0x38]
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140073127
mov rcx, qword [rbp - 0x38]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x6d], cl
cmp eax, 0x1ae692e2
jbe 0x140081488
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x140081516
jmp 0x1400817e2
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov r8, qword [rax + 0x40]
mov qword [rdx], r8
mov rax, qword [rax + 0x48]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140073127
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x2b
xor cl, 0x2b
cmp al, cl
jne 0x1400817e2
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x50]
mov qword [rbp + 0x30], rdx
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x30]
sub rsp, 0x20
call fcn.140073127
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400817e2
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x60]
mov qword [rbp + 0x20], rdx
mov rax, qword [rax + 0x68]
mov qword [rbp + 0x28], rax
lea rdx, [rbp + 0x20]
sub rsp, 0x20
call fcn.140073127
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400817e2
mov eax, dword [0x1401f52d8]
mov ecx, dword [str.E1_pr_]
xor ecx, 0x4b5ad803
add eax, ecx
add eax, 0x52522e8b
mov ecx, 0x5151d4d7
xor ecx, 0xd42e172e
add eax, ecx
mov ecx, 0x87aafe4f
xor ecx, 0xff95a55f
or eax, ecx
cmp eax, 0x2f8a1168
jbe 0x14008189e
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov edx, dword [0x1401f52e0]
mov r10d, dword [0x1401f52e4]
mov r8d, 0xa69a4492
xor r8d, 0x5965bb6d
mov r9d, r10d
xor r9d, r8d
mov r8d, edx
and r8d, r9d
mov r9d, edx
xor r9d, r10d
add edx, r9d
sub edx, r8d
mov r8d, edx
and r8d, 0x91d081c0
xor r8d, 0xffffffff
and edx, 0x91d081c0
xor edx, 0xffffffff
and r8d, edx
xor r8d, 0xffffffff
mov edx, r8d
and edx, 0xede78f4e
xor r8d, 0xede78f4e
or edx, r8d
mov r9d, edx
and r9d, 0x31130736
mov r8d, 0xafd2ff78
xor r8d, 0xafd2ff7a
imul r8d, r9d
mov r9d, 0xccc23c4d
xor r9d, 0xfdd13b7b
add edx, r9d
sub edx, r8d
mov dword [rbp - 0x7c], edx
mov edx, 0x2235b7c0
xor edx, 0x5b248193
mov dword [rbp - 0x80], edx
mov rdx, qword [rax + 0x70]
mov qword [rbp + 0x10], rdx
mov rax, qword [rax + 0x78]
mov qword [rbp + 0x18], rax
lea rdx, [rbp + 0x10]
sub rsp, 0x20
call fcn.140073127
mov rdx, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xaa
xor r8b, 0xaa
cmp dl, r8b
sete dl
mov byte [rbp - 0x75], dl
cmp eax, ecx
je 0x14008189e
mov al, byte [rbp - 0x75]
test al, 1
jne 0x1400816fa
jmp 0x1400817e2
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x80]
mov qword [rbp], rdx
mov rax, qword [rax + 0x88]
mov qword [rbp + 8], rax
mov rdx, rbp
sub rsp, 0x20
call fcn.140073127
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x1c
xor cl, 0x1c
cmp al, cl
jne 0x1400817e2
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x90]
mov qword [rbp - 0x10], rdx
mov rax, qword [rax + 0x98]
mov qword [rbp - 8], rax
lea rdx, [rbp - 0x10]
sub rsp, 0x20
call fcn.140073127
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400817e2
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0xa0]
mov qword [rbp - 0x20], rdx
mov rax, qword [rax + 0xa8]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x20]
sub rsp, 0x20
call fcn.140073127
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400817e2
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0xb0]
mov qword [rbp - 0x30], rdx
mov rax, qword [rax + 0xb8]
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x30]
sub rsp, 0x20
call fcn.140073127
add rsp, 0x20
mov ecx, dword [0x1401f52e8]
and ecx, dword [0x1401f52ec]
mov eax, ecx
or eax, 0x93bfa406
mov edx, 0x2ecddd05
xor edx, 0xd13222fa
xor eax, edx
or ecx, 0x93bfa406
mov edx, 0x7995c147
xor edx, 0x866a3eb8
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0x6d212190
xor ecx, 0xffffffff
and ecx, 0x6d212190
shl ecx, 1
mov edx, 0x1f62878f
xor edx, 0x7243a61f
sub ecx, edx
sub eax, ecx
sub eax, 0x43175170
cmp eax, 0xccf3642e
ja 0x1400818a7
mov eax, dword [0x1401f52f0]
xor eax, 0x16a4af32
mov ecx, dword [0x1401f52f4]
xor ecx, 0xc02d55a8
sub eax, ecx
imul eax, eax, 0x1a69289d
mov ecx, 0x85222870
xor edx, edx
div ecx
imul eax, eax, 0xd801f414
cmp eax, 0xfff7b3a
je 0x14008184d
lea rsp, [rbp + 0x70]
pop rbp
ret
jrcxz 0x1400818be
sbb ebx, dword [rcx - 0x58517]
call [rbx + 0x3b]
and esi, dword [rbp - 0x41517]
invalid
pop rbx
cmp esp, dword [rbx]
mov ch, 0xe9
invalid
cmp ah, ch
std
je 0x14008188c
push rsp
std
invalid
or al, 0x58
cmp eax, 0xff9de93b
invalid
call fcn.140071710
mov rdx, qword [rsp + 0x30]
cmp rdx, 0
jne 0x1400818e1
mov rcx, qword [rsp + 0x28]
call fcn.140071b13
jmp 0x1400818f0
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call fcn.1400811f0
mov eax, dword [0x1401f52f8]
mov ecx, dword [0x1401f52fc]
xor ecx, 0x334be08b
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0x41750e29
mov ecx, 0xffffffff
xor ecx, 0x41750e29
and r8d, ecx
shl r8d, 1
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0x43d27009
xor ecx, 0xb57c29ba
and ecx, eax
mov edx, 0xffffffff
xor edx, 0xf6ae59b3
and r8d, edx
mov eax, 0xffffffff
xor eax, 0xd16332b3
and eax, 0xf6ae59b3
and edx, 0xd16332b3
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xe7cc5b6
or edx, 0xe7cc5b6
mov r8d, 0x93639e56
xor r8d, 0x6c9c61a9
xor edx, r8d
xor eax, 0xffffffff
mov r8d, 0x7f9ddf24
xor r8d, 0x806220db
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe7cc5b6
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xf84c8e32
xor ecx, 0xd4c5be11
cmp eax, ecx
jb 0x140081a2d
mov eax, dword [0x1401f5300]
mov ecx, 0xb28b885d
xor ecx, 0x441a9d82
xor eax, ecx
and eax, dword [0x1401f5304]
or eax, 0x9ae28ef4
mov ecx, 0xffffffff
xor ecx, 0xa69aa5e1
add eax, ecx
add eax, 1
mov edx, eax
xor edx, 0x5dbe528c
xor edx, 0xffffffff
mov ecx, 0x6bc65199
xor ecx, 0x36780315
and ecx, edx
shl ecx, 1
mov edx, 0x90cd955c
xor edx, 0xcd73c7d0
sub ecx, edx
sub eax, ecx
cmp eax, 0x3c95227f
je 0x1400819c5
add rsp, 0x38
ret
mov ah, 0xee
invalid