Function at 0x140120870
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rcx
mov edx, dword [0x14018e8fc]
mov eax, dword [0x14018e900]
not edx
not eax
or edx, eax
mov eax, edx
not eax
and edx, 0x577f9e0b
mov ecx, eax
and ecx, 0xa88061f4
imul ecx, edx
mov edx, eax
and edx, 0x577f9e0b
or eax, 0x577f9e0b
imul eax, edx
add eax, ecx
mov ecx, 0xfaec75e1
imul rax, rcx
shr rax, 0x3e
and eax, 1
mov dword [rbp - 0x34], eax
mov eax, 0x10
mov qword [rbp - 0x50], rax
call fcn.14014d730
sub rsp, rax
mov rax, qword [rbp - 0x50]
mov rcx, rsp
mov qword [rbp - 0x58], rcx
call fcn.14014d730
sub rsp, rax
mov rax, qword [rbp - 0x50]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.14014d730
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov eax, 0x20
call fcn.14014d730
sub rsp, rax
mov eax, dword [rbp - 0x34]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
cmp eax, 0x1661fa4d
jae 0x140120892
mov eax, dword [0x14018e904]
or eax, dword [0x14018e908]
mov ecx, 0xb9f15826
xor edx, edx
div ecx
add eax, 0xa234ede0
mov ecx, eax
xor ecx, 0xa64de275
xor ecx, 0xffffffff
or eax, 0xa64de275
and eax, ecx
cmp eax, 0x1d95ee83
jb 0x140120d8d
mov rcx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x58]
mov r9, qword [rbp - 0x18]
mov eax, dword [0x14018e90c]
xor eax, dword [0x14018e910]
mov r10d, 0xc977767c
xor edx, edx
div r10d
mov rdx, qword [rbp - 0x28]
xor eax, 0x4c606d88
or eax, 0x5868f6a6
mov qword [r8], r9
mov qword [rcx], rdx
cmp eax, 0xb9bdd6ad
ja 0x140120d8d
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x20]
mov r8d, dword [0x14018e91c]
add r8d, dword [0x14018e920]
add r8d, 0x2b04ffb8
or r8d, 0xc03743dd
mov r9d, r8d
add r9d, 1
xor r8d, 0xffffffff
or r8d, 0xd9230374
add r8d, r9d
mov dword [rbp - 0x60], r8d
mov qword [rax], rdx
sub rsp, 0x20
call fcn.140122160
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x60]
mov byte [rbp - 0x59], cl
cmp eax, 0xb35978c4
je 0x1401209b7
mov al, byte [rbp - 0x59]
test al, 1
jne 0x140120ac7
jmp 0x140120a2b
mov eax, dword [0x14018e924]
or eax, dword [0x14018e928]
sub eax, 0xf812309
sub eax, 0x95a93364
add eax, 0xf812309
mov ecx, 0xae2cad9a
xor edx, edx
div ecx
sub eax, 0xcabb3cd3
cmp eax, 0xba304bd1
ja 0x140120da8
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
lea rdx, [0x14017d442]
call fcn.140100b10
add rsp, 0x20
jmp 0x140120a7c
mov eax, dword [0x14018e934]
xor edx, edx
div dword [0x14018e938]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa4c86e41
mov ecx, eax
and ecx, 0x5b3791be
imul ecx, edx
mov edx, eax
and edx, 0xa4c86e41
or eax, 0xa4c86e41
imul eax, edx
add eax, ecx
add eax, 0xc2b590da
xor eax, 0xfc03a59b
cmp eax, 0x272b281
jbe 0x140120dad
mov eax, dword [0x14018e944]
and eax, dword [0x14018e948]
add eax, 0x7c87c6d4
and eax, 0x105d9ea5
mov ecx, eax
xor ecx, 0xbabb2742
and eax, 0x4544d8bd
shl eax, 1
sub eax, ecx
cmp eax, 0xf4d6fe56
ja 0x140120db2
mov eax, dword [0x14018e94c]
mov r8d, dword [0x14018e950]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
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 edx, eax
xor edx, 0xffffffff
and edx, 0xe8163df
mov ecx, eax
and ecx, 0xf17e9c20
imul ecx, edx
mov edx, eax
and edx, 0xe8163df
or eax, 0xe8163df
imul eax, edx
add eax, ecx
xor eax, 0xe1982765
xor eax, 0xffffffff
or eax, 0x9b2cb041
xor eax, 0xffffffff
cmp eax, 0x55b0732d
ja 0x140120db2
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140122710
add rsp, 0x20
jmp 0x140120b89
mov eax, dword [0x14018e954]
add eax, dword [0x14018e958]
imul eax, eax, 0xea7d284c
add eax, 0x1c464bc6
add eax, 1
mov edx, eax
and edx, 0xe058ffda
mov ecx, eax
or ecx, 0xe058ffda
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x1fa70025
or eax, 0x1fa70025
imul eax, edx
add eax, ecx
cmp eax, 0x645ba9db
jbe 0x140120db7
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.140122400
add rsp, 0x20
jmp 0x140120bf0
mov ecx, dword [0x14018e964]
mov r8d, dword [0x14018e968]
mov edx, r8d
xor edx, 0xffffffff
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov eax, ecx
and eax, 0x93d878b
xor ecx, 0x93d878b
or eax, ecx
mov ecx, 0x693e618e
xor edx, edx
div ecx
and eax, 0xf805b2ca
cmp eax, 0xeed8e6e1
ja 0x140120dbc
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x14018e96c]
and eax, dword [0x14018e970]
imul eax, eax, 0xf006eee6
mov r8d, 0x1376ff30
xor edx, edx
div r8d
mov edx, eax
mov eax, edx
xor eax, 0xf772c68
and eax, edx
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.14013e9c0
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, 0xb9bb7a0b
jae 0x140120c38
mov eax, dword [0x14018e974]
sub eax, dword [0x14018e978]
imul eax, eax, 0xb0b8234c
and eax, 0x79976cac
add eax, 0x635b3445
cmp eax, 0x7ac4fbc3
jbe 0x140120dd2
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
mov r8d, dword [0x14018e97c]
mov r9d, dword [0x14018e980]
mov eax, r8d
and eax, r9d
xor r8d, r9d
or eax, r8d
mov r8d, eax
and r8d, 0xadc60ae7
shl r8d, 1
add eax, 0xadc60ae7
sub eax, r8d
mov r8d, eax
xor r8d, 0xf9befd09
xor r8d, 0xffffffff
and r8d, 0xf9befd09
shl r8d, 1
sub r8d, 0xf9befd09
sub eax, r8d
xor eax, 0xffffffff
or eax, 0x617f56df
xor eax, 0xffffffff
mov dword [rbp - 0x68], eax
sub rsp, 0x20
call fcn.140122b80
add rsp, 0x20
mov eax, dword [rbp - 0x68]
cmp eax, 0xdacc100a
ja 0x140120ca9
mov ecx, dword [0x14018e984]
mov edx, dword [0x14018e988]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and ecx, edx
xor eax, 0xffffffff
or eax, ecx
add eax, 0x96aec065
sub eax, 0x2fff05a0
sub eax, 0x96aec065
or eax, 0xcfd116f6
xor eax, 0xffffffff
or eax, 0xab0dc184
xor eax, 0xffffffff
cmp eax, 0xfd80d0ab
jae 0x140120dec
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.1400d78f0
mov rax, qword [rbp - 0x10]
mov rsp, rbp
pop rbp
ret
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x18]
mov qword [rdx], r8
mov qword [rax], rcx
jmp 0x140120975
jmp 0x140120a5f
jmp 0x140120ac7
jmp 0x140120af9
jmp 0x140120bd6
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.1400d78f0
add rsp, 0x20
jmp 0x140120c38
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.140122b80
add rsp, 0x20
jmp 0x140120ca9
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.1400d78f0
add rsp, 0x20
jmp 0x140120d77