Function at 0x14001c990
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov dword [rbp - 0xc], r9d
mov qword [rbp - 8], r8
mov qword [rbp], rdx
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x10], rax
mov eax, dword [0x1400fde90]
add eax, dword [0x1400fde94]
or eax, 0xa82cd3a9
imul eax, eax, 0x4a0a410a
imul eax, eax, 0x71376a68
cmp eax, 0x674e7a7f
je 0x14001cd7e
mov r8, qword [rbp + 0x10]
mov r10d, dword [rbp - 0xc]
mov rsi, qword [rbp - 8]
mov rbx, qword [rbp]
mov r15, qword [rbp + 8]
mov eax, dword [0x1400fde98]
mov ecx, dword [0x1400fde9c]
or eax, ecx
and eax, 0xb19a16ca
add eax, 0xc3777465
xor eax, 0x17057beb
mov dword [rbp - 0x1c], eax
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x60], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r14, rsp
mov qword [rbp - 0x58], r14
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdi, rsp
mov qword [rbp - 0x50], rdi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r11, rsp
mov qword [rbp - 0x48], r11
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r9, rsp
mov qword [rbp - 0x40], r9
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdx, rsp
mov qword [rbp - 0x38], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp - 0x1c]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
mov qword [r14], r15
mov qword [rdi], rbx
mov qword [r11], rsi
mov dword [r9], r10d
mov qword [rdx], r8
mov dword [rcx], 0
cmp eax, 0xf4e8635e
jae 0x14001cd7e
jmp 0x14001cae0
mov eax, dword [0x1400fdea0]
sub eax, dword [0x1400fdea4]
add eax, 0xfdf758ce
and eax, 0x44e87600
mov ecx, 0xf9576f26
xor edx, edx
div ecx
cmp eax, 0x1c9ddca5
jae 0x14001ce23
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1400fdea8]
xor eax, dword [0x1400fdeac]
imul eax, eax, 0xd98bbcb
xor eax, 0xaccb49b4
mov r8d, 0x584b841d
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x58]
mov ecx, dword [rcx]
mov rdx, qword [rdx]
cmp ecx, dword [rdx + 0xd8]
setl cl
mov byte [rbp - 0x61], cl
cmp eax, 0x1845d4cb
jae 0x14001cb0a
mov al, byte [rbp - 0x61]
test al, 1
jne 0x14001cb60
jmp 0x14001ccb2
mov eax, dword [0x1400fdeb0]
sub eax, dword [0x1400fdeb4]
and eax, 0x514fd8b9
add eax, 0x829d77cf
mov ecx, 0x3da5318
xor edx, edx
div ecx
cmp eax, 0x730b7751
je 0x14001ce28
mov r10, qword [rbp - 0x38]
mov r11, qword [rbp - 0x40]
mov r9, qword [rbp - 0x48]
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x18]
mov eax, dword [0x1400fdeb8]
and eax, dword [0x1400fdebc]
and eax, 0x8e87bfec
or eax, 0x4837a643
xor eax, 0xadc7eaa5
mov dword [rbp - 0x68], eax
mov rax, qword [rdx]
mov rax, qword [rax + 0x68]
movsxd rcx, dword [rsi]
mov rax, qword [rax + rcx*8]
mov rax, qword [rax]
mov rax, qword [rax + 0x50]
mov rcx, qword [rdx]
mov rcx, qword [rcx + 0x68]
movsxd rsi, dword [rsi]
mov rcx, qword [rcx + rsi*8]
mov rcx, qword [rcx + 8]
mov rdx, qword [rdx]
mov r8, qword [r8]
mov r9, qword [r9]
mov r11d, dword [r11]
mov r10, qword [r10]
sub rsp, 0x30
mov dword [rsp + 0x20], r11d
mov qword [rsp + 0x28], r10
call rax
mov rcx, qword [rbp - 0x28]
add rsp, 0x30
mov edx, eax
mov eax, dword [rbp - 0x68]
mov dword [rcx], edx
cmp dword [rcx], 1
setne cl
mov byte [rbp - 0x62], cl
cmp eax, 0x4c84223d
je 0x14001cb8a
mov al, byte [rbp - 0x62]
test al, 1
jne 0x14001cc39
jmp 0x14001cc4a
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x28]
mov ecx, dword [rcx]
mov dword [rax], ecx
jmp 0x14001cd17
jmp 0x14001cc4f
mov eax, dword [0x1400fdec0]
or eax, dword [0x1400fdec4]
add eax, 0xd39fe5b1
add eax, 0x23fb2da3
sub eax, 0x590855ed
cmp eax, 0x79ec549a
jae 0x14001ce97
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1400fdec8]
sub eax, dword [0x1400fdecc]
mov r8d, 0xcf3e3012
xor edx, edx
div r8d
imul eax, eax, 0x21e7bdcc
or eax, 0xf58857df
mov edx, dword [rcx]
add edx, 1
mov dword [rcx], edx
cmp eax, 0xdcd12bc0
jbe 0x14001ce97
jmp 0x14001cae0
mov eax, dword [0x1400fded0]
add eax, dword [0x1400fded4]
mov ecx, 0x72b77d71
xor edx, edx
div ecx
xor eax, 0x8ada3e47
or eax, 0x141517c3
cmp eax, 0x86316425
jb 0x14001cea7
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x1400fded8]
and eax, dword [0x1400fdedc]
and eax, 0x5ddee78d
mov r8d, 0xdaedc746
xor edx, edx
div r8d
add eax, 0xbdd3fbb7
mov dword [rcx], 0
cmp eax, 0x2b8da456
jb 0x14001cea7
jmp 0x14001cd17
mov eax, dword [0x1400fdee0]
and eax, dword [0x1400fdee4]
imul eax, eax, 0xc7e954ee
or eax, 0x4281f47f
or eax, 0x5bac7030
cmp eax, 0x6c42d5eb
jb 0x14001ceb6
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x1400fdee8]
or eax, dword [0x1400fdeec]
xor eax, 0x4478db44
and eax, 0x85409b9c
imul eax, eax, 0xe7b5d1a9
mov ecx, dword [rcx]
mov dword [rbp - 0x6c], ecx
cmp eax, 0x4f488141
je 0x14001ceb6
mov eax, dword [rbp - 0x6c]
lea rsp, [rbp + 0x18]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov rdx, qword [rbp + 0x10]
mov r9d, dword [rbp - 0xc]
mov r11, qword [rbp - 8]
mov rdi, qword [rbp]
mov r14, qword [rbp + 8]
mov eax, 0x10
mov qword [rbp - 0x78], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rbx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rsi, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov r10, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov r8, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rcx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rbx], r14
mov qword [rsi], rdi
mov qword [r10], r11
mov dword [r8], r9d
mov qword [rcx], rdx
mov dword [rax], 0
jmp 0x14001c9e7
jmp 0x14001cb0a
mov r10, qword [rbp - 0x38]
mov r11, qword [rbp - 0x40]
mov r9, qword [rbp - 0x48]
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x18]
mov rax, qword [rdx]
mov rax, qword [rax + 0x68]
movsxd rcx, dword [rsi]
mov rax, qword [rax + rcx*8]
mov rax, qword [rax]
mov rax, qword [rax + 0x50]
mov rcx, qword [rdx]
mov rcx, qword [rcx + 0x68]
movsxd rsi, dword [rsi]
mov rcx, qword [rcx + rsi*8]
mov rcx, qword [rcx + 8]
mov rdx, qword [rdx]
mov r8, qword [r8]
mov r9, qword [r9]
mov r11d, dword [r11]
mov r10, qword [r10]
sub rsp, 0x30
mov dword [rsp + 0x20], r11d
mov qword [rsp + 0x28], r10
call rax
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 0x28]
mov dword [rax], ecx
jmp 0x14001cb8a
mov rax, qword [rbp - 0x18]
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x14001cc75
mov rax, qword [rbp - 0x60]
mov dword [rax], 0
jmp 0x14001ccdc
jmp 0x14001cd3e