Function at 0x14007f900
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], rcx
mov eax, dword [0x140108288]
sub eax, dword [0x14010828c]
and eax, 0xcb7875d9
mov ecx, 0xd35b40cb
xor edx, edx
div ecx
add eax, 0x8d464b4
cmp eax, 0x8904744
jbe 0x14007fc97
mov rcx, qword [rbp - 8]
mov eax, dword [0x140108290]
mov edx, dword [0x140108294]
sub eax, edx
add eax, 0x670acfc
or eax, 0x3789352c
mov dword [rbp - 0xc], eax
mov eax, 0x10
mov qword [rbp - 0x28], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rdx, rsp
mov qword [rbp - 0x20], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rdx, rsp
mov qword [rbp - 0x18], rdx
mov qword [rax], rcx
mov rcx, qword [0x140117df0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rbp - 0x18]
mov eax, dword [rbp - 0xc]
add rsp, 0x20
mov rdx, qword [0x140117de0]
mov rdx, qword [rdx + 0x50]
mov qword [rcx], rdx
cmp eax, 0x4ea5e4f6
jb 0x14007f938
jmp 0x14007f9c3
mov rax, qword [rbp - 0x18]
cmp qword [rax], 0
je 0x14007fc22
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 8]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14007c540
add rsp, 0x20
cmp eax, 0
je 0x14007fb6c
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov rax, qword [rax + 8]
cmp dword [rax + 8], 0xa
jne 0x14007fa6a
mov eax, dword [0x140108298]
imul eax, dword [0x14010829c]
mov ecx, 0x30a1a405
xor edx, edx
div ecx
or eax, 0xebba96b4
imul eax, eax, 0xdea0d356
cmp eax, 0x6b97b2ff
jbe 0x14007fcf9
mov eax, dword [0x1401082a0]
sub eax, dword [str.80_z]
xor eax, 0xc2bb6a10
imul eax, eax, 0x9618da0f
mov ecx, 0xdacf45ff
xor edx, edx
div ecx
cmp eax, 0xca8e59f3
jae 0x14007fa3a
jmp 0x14007fc22
mov eax, dword [0x1401082a8]
or eax, dword [0x1401082ac]
imul eax, eax, 0x30f4ee2d
or eax, 0xcf1391a4
add eax, 0xedc53b77
cmp eax, 0xc7b3879e
jae 0x14007fcfe
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401082b0]
xor edx, edx
div dword [0x1401082b4]
imul eax, eax, 0x8c58ade4
imul eax, eax, 0x55909414
imul eax, eax, 0xddacf0aa
mov rcx, qword [rcx]
cmp dword [rcx + 0x20], 0
setne cl
mov byte [rbp - 0x29], cl
cmp eax, 0x109368c4
je 0x14007fa91
mov al, byte [rbp - 0x29]
test al, 1
jne 0x14007fb67
jmp 0x14007fadd
mov eax, dword [0x1401082b8]
sub eax, dword [0x1401082bc]
and eax, 0xb5d40fd3
sub eax, 0xb555a16
xor eax, 0x5792ccea
cmp eax, 0x22fc4bdb
jb 0x14007fd03
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401082c0]
xor edx, edx
div dword [0x1401082c4]
add eax, 0x22e9c74d
imul eax, eax, 0x85cbba2d
imul eax, eax, 0xa19a2668
mov rcx, qword [rcx]
cmp qword [rcx + 0x18], 0
setne cl
mov byte [rbp - 0x2a], cl
cmp eax, 0xe35c434d
ja 0x14007fb03
mov al, byte [rbp - 0x2a]
test al, 1
jne 0x14007fb4f
jmp 0x14007fb67
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
add rcx, 0xffffffffffffffff
mov qword [rax + 0x18], rcx
jmp 0x14007fbbe
jmp 0x14007fb6c
mov eax, dword [0x1401082c8]
and eax, dword [0x1401082cc]
and eax, 0xddc06fe0
and eax, 0x5e87592d
add eax, 0x58c1028c
cmp eax, 0xc61265d2
ja 0x14007fd08
mov eax, dword [0x1401082d0]
sub eax, dword [0x1401082d4]
imul eax, eax, 0xd9b0fe74
xor eax, 0x2775d2a9
add eax, 0x451ade3e
cmp eax, 0x79a234ec
je 0x14007fb92
jmp 0x14007fbbe
mov eax, dword [0x1401082d8]
and eax, dword [0x1401082dc]
mov ecx, 0x2ef9e0e9
xor edx, edx
div ecx
and eax, 0x55db6314
imul eax, eax, 0xa52e4f11
cmp eax, 0x65337879
je 0x14007fd0d
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401082e0]
and eax, dword [0x1401082e4]
or eax, 0xa6f1e3d4
imul eax, eax, 0xfcbae316
xor eax, 0xdcfcbae5
mov rdx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rcx], rdx
cmp eax, 0x1717f344
jbe 0x14007fd0d
jmp 0x14007f9c3
mov eax, dword [0x1401082e8]
imul eax, dword [0x1401082ec]
imul eax, eax, 0x7e6a6298
sub eax, 0xe5b35eb7
mov ecx, 0xd0280c2e
xor edx, edx
div ecx
cmp eax, 0xce12ad83
jae 0x14007fd1f
mov eax, dword [0x1401082f0]
xor edx, edx
div dword [0x1401082f4]
or eax, 0x53c1d256
imul eax, eax, 0xb7c9e236
xor eax, 0xdc2d81dc
mov dword [rbp - 0x30], eax
mov rcx, qword [0x140117df0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [rbp - 0x30]
add rsp, 0x20
cmp eax, 0x450ff586
jb 0x14007fd1f
mov rsp, rbp
pop rbp
ret
mov rcx, qword [rbp - 8]
mov eax, 0x10
mov qword [rbp - 0x48], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x48]
mov rdx, rsp
mov qword [rbp - 0x40], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rdx, rsp
mov qword [rbp - 0x38], rdx
mov qword [rax], rcx
mov rcx, qword [0x140117df0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, qword [0x140117de0]
mov rcx, qword [rcx + 0x50]
mov qword [rax], rcx
jmp 0x14007f938
jmp 0x14007fa3a
jmp 0x14007fa91
jmp 0x14007fb03
jmp 0x14007fb92
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp 0x14007fbe9
mov rcx, qword [0x140117df0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add rsp, 0x20
jmp 0x14007fc4e