Function at 0x140189810
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rcx
mov eax, dword [0x1401fc3e8]
xor eax, 0x5692cde
mov ecx, dword [0x1401fc3ec]
mov edx, 0x683907d8
xor edx, 0x5fe03c69
xor ecx, edx
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd10393fa
mov edx, 0x9839cb2d
xor edx, 0x493a58d7
mov r8d, 0xd35271f9
xor r8d, 0x2cad8e06
xor edx, r8d
and eax, edx
sub eax, ecx
sub eax, 0xb4c92f6c
mov ecx, 0xaaa4ee0d
xor ecx, 0x792abf1d
add eax, ecx
add eax, 0xb4c92f6c
mov ecx, 0x32c4f90f
xor ecx, 0xe29880ed
and eax, ecx
cmp eax, 0xdab511ce
ja 0x140189ed5
mov eax, dword [0x1401fc3f0]
xor eax, 0xc6f503d8
mov r8d, dword [0x1401fc3f4]
mov r9d, r8d
not r9d
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
not ecx
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0xb7bfdd3b
and eax, 0xf7bffdfb
mov dword [rbp + 0x28], eax
mov eax, 0x10
mov qword [rbp], rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
sub rsp, 0x20
call fcn.140189f00
add rsp, 0x20
mov qword [rbp + 0x20], rax
add rax, 0x60
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.1401500c0
mov rcx, qword [rbp + 0x20]
mov eax, dword [rbp + 0x28]
add rsp, 0x20
cmp byte [rcx + 0x60], 0
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0x7143035c
jb 0x1401898a0
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x1401899aa
jmp 0x140189e56
mov ecx, 0x28
mov edx, 8
sub rsp, 0x20
call fcn.140016330
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax]
add rcx, 0x20
sub rsp, 0x20
call fcn.14017a5bc
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140189e56
mov ecx, dword [0x1401fc3f8]
and ecx, dword [0x1401fc3fc]
xor ecx, 0x1a4cc78b
mov eax, 0x90ca33a
xor eax, 0xf6f35cc5
mov edx, ecx
xor edx, eax
mov eax, 0x3ed21778
xor eax, 0x9d4f3b09
and eax, edx
mov edx, 0x3cc4220c
xor edx, 0x9f590e7d
mov r8d, 0xd9eef8a5
xor r8d, 0x2611075a
xor edx, r8d
and ecx, edx
or eax, ecx
imul eax, eax, 0x34b08aa4
mov ecx, 0x3aad1f10
xor ecx, 0x1cd65ea1
cmp eax, ecx
jbe 0x140189ede
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x1401fc400]
xor eax, 0xd43d6e0d
mov r9d, dword [0x1401fc404]
xor r9d, 0x6b6f7d1b
mov r8d, eax
and r8d, r9d
xor eax, r9d
or r8d, eax
xor eax, eax
sub eax, 0x7fd95f29
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x8007f9c9
mov r9d, 0xffffffff
xor r9d, 0x8007f9c9
and r8d, r9d
or eax, r8d
mov r8d, eax
and r8d, 0x8d120187
shl r8d, 1
xor eax, 0x8d120187
add eax, r8d
mov dword [rbp - 0x28], eax
mov eax, 0xf7452662
xor eax, 0xd98c5064
mov dword [rbp - 0x2c], eax
mov rax, qword [0x140208958]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14017faa0
mov rdx, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x2c]
mov eax, dword [rbp - 0x28]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x41
xor r8b, 0x41
cmp dl, r8b
sete dl
mov byte [rbp - 0x21], dl
cmp eax, ecx
je 0x140189a4d
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140189b1e
jmp 0x140189e56
mov eax, dword [0x1401fc408]
xor eax, 0x2a33973f
add eax, dword [0x1401fc40c]
mov ecx, eax
xor ecx, 0xda9d13cd
xor ecx, 0xffffffff
and ecx, 0xda9d13cd
shl ecx, 1
mov edx, 0x299877ea
xor edx, 0xf3056427
sub ecx, edx
sub eax, ecx
mov ecx, 0x90be76db
xor edx, edx
div ecx
sub eax, 0x300ce30
mov ecx, 0xb782e8a5
xor ecx, 0x93541c6a
add eax, ecx
add eax, 0x300ce30
cmp eax, 0x3e5acf61
jae 0x140189ee7
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x30]
mov r8d, dword [0x1401fc410]
mov r9d, dword [0x1401fc414]
mov eax, 0x99427fb3
xor eax, 0x99427fb3
sub eax, r8d
mov r8d, 0x88f373fe
xor r8d, 0x88f373fe
sub r8d, r9d
add eax, r8d
mov r8d, 0x9a5af0c6
xor r8d, 0x9a5af0c6
sub r8d, eax
and r8d, 0x174d3478
mov eax, r8d
or eax, eax
xor eax, 0xffffffff
mov r9d, 0x119cbd12
xor r9d, 0x86711bf6
mov r10d, 0xa2759a1c
xor r10d, 0x5d8a65e3
xor r9d, r10d
mov r10d, 0xffffffff
xor r10d, 0x97eda6e4
and r9d, r10d
or eax, r9d
mov r9d, 0x678425db
xor r9d, 0x987bda24
xor eax, r9d
or r8d, 0x97eda6e4
xor r8d, 0xffffffff
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x3294d6a5
xor r8d, 0x5a2f2263
add eax, r8d
mov dword [rbp - 0x34], eax
mov eax, 0xed884fc2
xor eax, 0xa9e3aa42
mov dword [rbp - 0x38], eax
mov rax, qword [0x140208878]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14017faa0
mov rdx, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x38]
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x2d], dl
cmp eax, ecx
jbe 0x140189b7d
mov al, byte [rbp - 0x2d]
test al, 1
jne 0x140189c94
jmp 0x140189e56
mov ecx, 0x788
sub rsp, 0x20
call fcn.14006dfa0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x18]
mov dword [rbp - 0x3c], ecx
cmp byte [rax], 0
jne 0x140189e56
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
sub rsp, 0x20
call fcn.1400826d0
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x50], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x140189e56
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rax]
add rdx, 0x18
sub rsp, 0x20
call fcn.140130a10
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x60], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x140189e56
mov eax, dword [0x1401fc418]
mov ecx, dword [0x1401fc41c]
xor ecx, 0x2c6227c9
xor edx, edx
div ecx
mov ecx, 0x65603084
xor ecx, 0x77dd960b
imul eax, ecx
mov ecx, 0x4d6b603b
xor ecx, 0xf0038664
sub eax, ecx
sub eax, 0x3e9af7dc
add eax, 0xbd68e65f
mov ecx, 0x2c4b5fd9
xor edx, edx
div ecx
cmp eax, 0x785f84ac
je 0x140189ef0
mov r8, qword [rbp + 0x10]
mov ecx, dword [rbp - 0x3c]
mov r9, qword [rbp - 0x60]
mov r10, qword [rbp - 0x48]
mov r11, qword [rbp - 0x50]
mov eax, dword [0x1401fc420]
xor edx, edx
div dword [0x1401fc424]
mov rdx, qword [rbp + 8]
mov esi, eax
mov rax, qword [rbp - 0x58]
xor esi, 0xe5b16ad9
mov edi, 0xea5f40ab
xor edi, 0x6741f844
add esi, edi
mov ebx, 0x1bb7940f
xor ebx, 0x1ea37493
mov edi, esi
xor edi, ebx
xor edi, 0xffffffff
and edi, 0x514e09c
shl edi, 1
sub edi, 0x514e09c
sub esi, edi
mov dword [rbp - 0x68], esi
mov esi, 0xdeb7d079
xor esi, 0x455355ca
mov dword [rbp - 0x6c], esi
mov qword [rdx], r11
mov qword [rdx + 8], r10
mov qword [r8], r9
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.1400a1340
mov rdx, qword [rbp + 0x18]
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
jae 0x140189ef0
mov al, byte [rbp - 0x61]
test al, 1
jne 0x140189e37
jmp 0x140189e56
mov ecx, 0x8f
sub rsp, 0x20
call fcn.14006e1e0
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
je 0x140189ecc
sub rsp, 0x20
call fcn.140189500
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x140189ecc
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x140189ecc
mov rax, qword [rbp + 0x18]
mov cl, 0x71
xor cl, 0x71
mov byte [rax], cl
sub rsp, 0x20
call fcn.140189665
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14009f0c0
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140189ecc
sub rsp, 0x20
call fcn.1401896a0
add rsp, 0x20
lea rsp, [rbp + 0x38]
pop rbx
pop rdi
pop rsi
pop rbp
ret
scasd eax, dword [rdi]
frstor dword [rdx - 0x63d165a]
invalid
mov word [rbx - 0x4991680], ax
invalid
and al, 0xe4
ret 0xe9cb
mov esi, 0x86e91ea8
invalid