Function at 0x140019c70
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], rcx
mov eax, 0x10
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
cmp rcx, 0
jle 0x14001a008
mov eax, dword [0x140250da8]
mov edx, dword [0x140250dac]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0x8b0e1a56
xor edx, edx
div ecx
mov ecx, 0xa80e150a
xor edx, edx
div ecx
imul eax, eax, 0x80fd06ae
cmp eax, 0xd0667cf5
jae 0x14001a017
mov rdx, qword [rbp - 0x20]
mov eax, dword [0x140250db0]
mov r8d, dword [0x140250db4]
mov ecx, eax
xor ecx, 0xffffffff
mov r10d, 0x6d3c608c
xor r10d, 0x92c39f73
mov r9d, r8d
xor r9d, r10d
and ecx, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
and ecx, 0xb7f7f628
xor ecx, 0x8a17f816
mov eax, ecx
or eax, eax
mov r8d, 0x70247e55
xor r8d, 0x8fdb81aa
xor eax, r8d
mov r8d, 0x77d553f3
or r8d, 0x77d553f3
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
or ecx, 0x77d553f3
mov r8d, 0x24b9b5d1
xor r8d, 0xdb464a2e
xor ecx, r8d
mov r8d, 0xd7209ef5
xor r8d, 0x28df610a
xor eax, r8d
xor ecx, 0xffffffff
and eax, ecx
mov dword [rbp - 0x28], eax
mov ecx, 8
sub rsp, 0x20
call fcn.140007bc0
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.14000b5b0
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x28]
mov byte [rbp - 0x21], cl
cmp eax, 0x272a0653
jbe 0x14001a017
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140019dd3
jmp 0x140019de5
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x140019ffb
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 8]
mov rdx, qword [rcx]
mov rcx, rdx
add rcx, rax
mov qword [rbp - 0x38], rcx
mov r9, rcx
xor r9, rax
xor r9, 0xffffffffffffffff
mov r8, rax
and r8, r9
shl r8, 1
sub r8, rax
mov rax, rcx
sub rax, r8
xor rcx, rdx
movabs rdx, 0x176ce34a575758a3
movabs r8, 0xe8931cb5a8a8a75c
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x56f81ae2b103320d
movabs r8, 0x2f61006ea0251643
xor rdx, r8
movabs r8, 0x1921bf917952d3f9
movabs r9, 0xe6de406e86ad2c06
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0x3787c89a6cdc6b0
movabs r8, 0x7ae16605b7ebe2fe
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x969a0b045e158ecf
movabs rdx, 0x969a0b045e158ecf
xor rcx, rdx
cmp rax, rcx
jge 0x140019ebf
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x140019ffb
mov rax, qword [rbp - 0x38]
cmp rax, 0
jge 0x140019ee5
sub rsp, 0x20
mov rcx, r8
mov rdx, r8
call fcn.14000cee2
add rsp, 0x20
jmp 0x140019ffb
mov rax, qword [rbp - 0x20]
cmp rax, 0
jge 0x140019fdb
mov eax, dword [0x140250db8]
xor edx, edx
div dword [0x140250dbc]
sub eax, 0xfbf0d279
xor ecx, ecx
sub ecx, 0x67459fcc
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x90cf5efd
mov r8d, 0xffffffff
xor r8d, 0x90cf5efd
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x13a4c083
xor r8d, 0x836b9e7e
mov edx, eax
and edx, r8d
or eax, 0x90cf5efd
imul eax, edx
add eax, ecx
cmp eax, 0x578baa77
jbe 0x14001a020
mov eax, dword [0x140250dc0]
mov ecx, dword [0x140250dc4]
xor ecx, 0x5c49a734
or eax, ecx
mov ecx, 0x20f69ee
xor ecx, 0x817b2ce2
imul eax, ecx
mov ecx, 0xb426d4a8
xor ecx, 0xede06df6
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x616f2cea
mov edx, 0x15b72910
xor edx, 0x15b72912
imul ecx, edx
xor eax, 0x616f2cea
add eax, ecx
mov dword [rbp - 0x3c], eax
mov eax, 0xd7aef280
xor eax, 0x172d4c89
mov dword [rbp - 0x40], eax
sub rsp, 0x20
mov rcx, r8
mov rdx, r8
call fcn.14000cee2
mov ecx, dword [rbp - 0x40]
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
cmp eax, ecx
ja 0x140019f57
jmp 0x140019ffb
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x38]
sub rsp, 0x20
call fcn.1400129e0
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rax], rcx
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rax
jmp 0x14001a00e
xor eax, eax
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x50]
mov rsp, rbp
pop rbp
ret
xchg ebx, eax
fstp xword [rsi - 0x39]
jmp 0x140019cde
jbe 0x140019fff
cld
push rsi
jmp 0x140019f57