Function at 0x140114d60
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov qword [rbp + 0x10], rcx
mov rdx, qword [rbp + 0x10]
mov r8d, dword [0x14018defc]
mov eax, dword [0x14018df00]
mov ecx, eax
mov eax, r8d
lea eax, [rax + rcx + 0x5b0dc77b]
imul rax, rax, 0x4bef228f
shr rax, 0x3d
imul eax, eax, 0xc17c545b
mov dword [rbp - 0xc], eax
mov eax, 0x10
mov qword [rbp - 0x20], rax
call fcn.14014d730
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
call fcn.14014d730
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov r8, rsp
mov qword [rbp - 0x28], r8
call fcn.14014d730
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov r8, rsp
mov qword [rbp - 0x18], r8
call fcn.14014d730
sub rsp, rax
mov eax, dword [rbp - 0xc]
mov r8, rsp
mov qword [rbp - 8], r8
mov qword [rcx], rdx
mov rcx, qword [rcx]
mov qword [rbp], rcx
mov rcx, qword [rcx]
mov ecx, dword [rcx + 4]
mov dword [rbp + 0xc], ecx
cmp eax, 0x327430c1
jae 0x1401154ab
mov rcx, qword [rbp]
mov eax, dword [0x14018df0c]
xor edx, edx
div dword [0x14018df10]
mov edx, eax
mov eax, dword [rbp + 0xc]
mov r8d, edx
and r8d, 0x66e918f6
shl r8d, 1
xor edx, 0x66e918f6
add edx, r8d
or edx, 0xaf66cc53
xor edx, 0xa3406ae3
mov dword [rbp - 0x34], edx
cdqe
add rcx, rax
sub rsp, 0x20
call fcn.14013ec60
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x34]
mov qword [rcx], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x30], rcx
cmp eax, 0xc9fbee29
jae 0x1401154c7
mov eax, dword [0x14018df14]
mov r8d, dword [0x14018df18]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0xe1405dc6
mov ecx, eax
and ecx, 0xcf5a5968
shl ecx, 1
xor eax, 0xcf5a5968
add eax, ecx
xor eax, 0xffffffff
or eax, 0x9cc745ed
xor eax, 0xffffffff
cmp eax, 0x7d411b41
ja 0x1401154ef
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x14018df1c]
mov r8d, dword [0x14018df20]
mov edx, eax
xor edx, r8d
xor r8d, 0xffffffff
and eax, r8d
shl eax, 1
sub eax, edx
mov r8d, 0xd1a71729
xor edx, edx
div r8d
mov edx, eax
xor edx, 0xffffffff
and edx, 0x560bd92b
xor eax, 0xffffffff
and eax, 0x560bd92b
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and eax, 0x989d0625
and edx, 0x6762f9da
or eax, edx
cmp rcx, 0
setne cl
mov byte [rbp - 0x35], cl
cmp eax, 0x7e8366a1
ja 0x1401154ef
mov al, byte [rbp - 0x35]
test al, 1
jne 0x140114f6d
jmp 0x14011542f
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp]
sub rsp, 0x20
call fcn.14013ec40
mov rcx, qword [rbp - 0x18]
call fcn.1401112c0
add rsp, 0x20
mov byte [rbp - 0x36], al
mov ecx, dword [0x14018df34]
mov edx, dword [0x14018df38]
mov eax, ecx
and eax, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0x44afaa32
xor eax, 0x12a49769
sub eax, 0xdf618799
cmp eax, 0x302cf301
je 0x1401154f4
mov eax, dword [0x14018df3c]
add eax, dword [0x14018df40]
mov ecx, 0x8ed44911
xor edx, edx
div ecx
and eax, 0xa6404be4
add eax, 0x169ed562
cmp eax, 0xb69319ff
ja 0x140114fc8
mov al, byte [rbp - 0x36]
test al, 1
jne 0x140115002
jmp 0x1401153bb
mov ecx, dword [0x14018df44]
imul ecx, dword [0x14018df48]
xor ecx, 0xa30064d5
xor ecx, 0x8f5c59e4
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x51274b80
and ecx, 0xaed8b47f
or eax, ecx
cmp eax, 0xf801bb91
je 0x1401154f9
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
mov dword [rcx], 0
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
mov ecx, dword [0x14018df54]
mov edx, dword [0x14018df58]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xf18ace6
and ecx, 0xf0e75319
or eax, ecx
or eax, 0x669222ff
and eax, 0xd471546e
cmp eax, 0x74b2f93b
jae 0x1401154fe
mov eax, dword [0x14018df5c]
xor edx, edx
div dword [0x14018df60]
sub eax, 0xed678d22
mov ecx, 0x834bd81e
xor edx, edx
div ecx
mov edx, eax
and edx, 0x6a7d48f4
mov ecx, eax
or ecx, 0x6a7d48f4
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9582b70b
or eax, 0x9582b70b
imul eax, edx
add eax, ecx
cmp eax, 0x14f5d06e
je 0x1401154fe
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.140115e70
add rsp, 0x20
mov dword [rbp - 0x44], eax
jmp 0x14011522f
mov rcx, qword [rbp]
mov eax, dword [0x14018df8c]
mov r9d, dword [0x14018df90]
mov r8d, r9d
xor r8d, 0xffffffff
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, r9d
add eax, r8d
sub eax, edx
sub eax, 0x5523309d
and eax, 0x23df0e39
sub eax, 0x25aa94ad
sub eax, 0x6c94e719
add eax, 0x25aa94ad
mov rcx, qword [rcx]
movsxd rcx, dword [rcx + 4]
mov qword [rbp - 0x68], rcx
cmp eax, 0x570eddf6
je 0x1401150f7
mov rax, qword [rbp - 8]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp]
add rcx, rdx
mov edx, dword [rax]
sub rsp, 0x20
xor eax, eax
mov r8b, al
call fcn.1401132c0
add rsp, 0x20
jmp 0x140115176
mov ecx, dword [0x14018dfa4]
mov edx, dword [0x14018dfa8]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov edx, eax
and edx, 0xb872c98d
mov ecx, eax
or ecx, 0xb872c98d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x478d3672
or eax, 0x478d3672
imul eax, edx
add eax, ecx
or eax, 0xb5363442
mov ecx, eax
and ecx, 0xd7a571da
xor ecx, 0xffffffff
add eax, 0xd7a571da
add eax, 1
add eax, ecx
cmp eax, 0xe7716b56
jbe 0x140115503
mov ecx, dword [0x14018dfac]
or ecx, dword [0x14018dfb0]
mov edx, ecx
and edx, 0x957397d9
mov eax, ecx
or eax, 0x957397d9
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x6a8c6826
or ecx, 0x6a8c6826
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0xa4651077
or ecx, 0xa4651077
add eax, ecx
xor eax, 0x6dd8deb1
cmp eax, 0xd0d04a13
jae 0x140115503
jmp 0x1401153bb
mov eax, dword [0x14018dfb4]
mov r8d, dword [0x14018dfb8]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x12d3269
add eax, 0x2f006cf1
sub eax, 0x3bf31740
cmp eax, 0x860b6786
jb 0x140115508
mov eax, dword [rbp - 0x44]
cmp eax, 0xffffffff
sete al
mov byte [rbp - 0x69], al
mov ecx, dword [0x14018dfc4]
mov eax, dword [0x14018dfc8]
sub ecx, 0x5cde57f5
sub ecx, eax
add ecx, 0x5cde57f5
add ecx, 0xed048b07
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x4336f611
and ecx, 0xbcc909ee
or eax, ecx
sub eax, 0x82444628
cmp eax, 0xe7495c09
ja 0x14011550d
mov eax, dword [0x14018dfcc]
and eax, dword [0x14018dfd0]
xor eax, 0x5ed1feec
imul eax, eax, 0x32bf76e1
sub eax, 0xd2555dde
cmp eax, 0x274be7b8
jb 0x14011550d
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1401152ff
jmp 0x1401153b6
mov rcx, qword [rbp - 8]
mov eax, dword [0x14018dfdc]
and eax, dword [0x14018dfe0]
add eax, 0xe9d30731
and eax, 0x2fa64a0c
xor eax, 0x7792bab5
mov ecx, dword [rcx]
mov dword [rbp - 0x70], ecx
cmp eax, 0xbf5cb3b1
ja 0x140115512
mov eax, dword [0x14018dfe4]
mov edx, dword [0x14018dfe8]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0x929dee2d
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x3f4a275b
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0xa2b8e38f
xor eax, 0xffffffff
cmp eax, 0xac5a8c3a
jae 0x140115517
mov rcx, qword [rbp - 8]
mov eax, dword [0x14018dfec]
xor edx, edx
div dword [0x14018dff0]
mov edx, dword [rbp - 0x70]
sub eax, 0x1516cf5e
add eax, 0xeb07a76e
add eax, 0xb6c0bf33
sub eax, 0xeb07a76e
xor eax, 0xa289fcea
or edx, 4
mov dword [rcx], edx
cmp eax, 0xc41687f3
ja 0x140115373
jmp 0x1401153b6
jmp 0x1401150f7
mov eax, dword [0x14018dff4]
xor edx, edx
div dword [0x14018dff8]
add eax, 0x2fe65e50
add eax, 0x54059b64
xor eax, 0xc298b4ce
cmp eax, 0x4e281369
ja 0x140115528
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14013ece0
add rsp, 0x20
mov eax, dword [0x14018e004]
xor edx, edx
div dword [0x14018e008]
mov ecx, eax
and ecx, 0x2b2c82f3
and ecx, 0xfa6efc60
mov eax, ecx
and eax, 0x84a3162d
xor ecx, 0x84a3162d
or eax, ecx
cmp eax, 0xecbad3f0
jae 0x14011553e
jmp 0x14011542f
mov eax, dword [0x14018e034]
mov r8d, dword [0x14018e038]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x6a88038
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xbd808d54
mov ecx, eax
and ecx, 0x427f72ab
imul ecx, edx
mov edx, eax
and edx, 0xbd808d54
or eax, 0xbd808d54
imul eax, edx
add eax, ecx
and eax, 0xdd3d52be
cmp eax, 0x676c012e
ja 0x140115543
mov rax, qword [rbp]
lea rsp, [rbp + 0x20]
pop rbp
ret
mov rcx, qword [rbp + 0x10]
mov eax, 0x10
call fcn.14014d730
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
jmp 0x140114d7c
mov rcx, qword [rbp]
mov eax, dword [rbp + 0xc]
cdqe
add rcx, rax
sub rsp, 0x20
call fcn.14013ec60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x28]
mov qword [rax], rcx
jmp 0x140114e1b
jmp 0x140114ee5
jmp 0x140114fc8
jmp 0x140115038
jmp 0x14011508a
jmp 0x1401151d7
jmp 0x14011527a
jmp 0x1401152c8
jmp 0x1401152ff
mov rax, qword [rbp - 8]
mov ecx, dword [rbp - 0x70]
or ecx, 4
mov dword [rax], ecx
jmp 0x140115373
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.1401135e0
add rsp, 0x20
jmp 0x1401153e3
jmp 0x14011542a
jmp 0x1401154a1