Function at 0x1400f2f80
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rsi, rcx
add rdx, r8
setb al
mov ecx, 0x9753fb0b
nop word [rax + rax]
mov r8d, dword [0x141dc4ba0]
or r8d, dword [0x141dc4ba4]
xor r8d, 0xa9c593d0
add r8d, 0x98dc20ab
imul r8, rcx
shr r8, 0x3f
cmp r8d, 0x380251bc
ja 0x1400f2fa0
test al, al
jne 0x1400f32a0
mov rcx, qword [rsi]
lea r8, [rcx + rcx]
nop dword [rax]
mov r9d, dword [0x141dc4ba8]
or r9d, dword [0x141dc4bac]
xor r9d, 0x8020982
and r9d, 0x98a7996
add r9d, 0xe2e74585
cmp r8, rdx
mov rax, rdx
cmova rax, r8
cmp r9d, 0x42531a4b
jb 0x1400f2fe0
nop word cs:[rax + rax]
mov edx, dword [0x141dc4bb0]
sub edx, dword [0x141dc4bb4]
xor edx, 0x8d90d8b3
imul rdx, rdx, 0x1b3155f
shr rdx, 0x38
xor edx, 0xb48a893f
cmp rax, 9
mov edi, 8
cmovae rdi, rax
cmp edx, 0xc506ae2f
ja 0x1400f3020
test rdi, rdi
js 0x1400f32a0
mov r8d, 0xa9dc9b33
nop word [rax + rax]
mov eax, dword [0x141dc4bb8]
xor edx, edx
div dword [0x141dc4bbc]
imul rax, r8
shr rax, 0x3f
imul eax, eax, 0x35d2eaf
xor eax, 0xd88e4f7
cmp eax, 0x69e88fe5
ja 0x1400f3070
nop dword [rax + rax]
mov eax, dword [0x141dc4bc0]
add eax, dword [0x141dc4bc4]
imul eax, eax, 0xdc60ba80
cmp eax, 0x2b1fca2f
je 0x1400f30a0
test rcx, rcx
je 0x1400f31b0
nop word cs:[rax + rax]
mov eax, dword [0x141dc4bc8]
sub eax, dword [0x141dc4bcc]
xor eax, 0x549fd1ce
add eax, 0x7f17e4c0
cmp eax, 0x6a026622
jb 0x1400f30d0
mov edx, dword [str._uP_]
imul edx, dword [0x141dc4bd4]
mov rax, qword [rsi + 8]
or edx, 0xc8000480
and edx, 0xc94e04c4
cmp edx, 0x78e72a51
jae 0x1400f3120
mov qword [rsp + 0x28], rax
nop word [rax + rax]
mov edx, dword [0x141dc4bd8]
sub edx, dword [0x141dc4bdc]
xor edx, 0xaa2d44e2
imul edx, edx, 0xab28b51c
mov qword [rsp + 0x28], rax
cmp edx, 0xcf8ff432
je 0x1400f3120
mov eax, dword [0x141dc4be0]
mov edx, dword [0x141dc4be4]
add eax, edx
add eax, 0x6204d149
shr eax, 2
imul rax, rax, 0x2153a1eb
shr rax, 0x3b
or eax, 0x1f7af428
cmp eax, 0xb3965217
jbe 0x1400f3180
mov qword [rsp + 0x38], rcx
nop word [rax + rax]
mov eax, dword [0x141dc4be8]
sub eax, dword [0x141dc4bec]
imul eax, eax, 0xa0c4dece
or eax, 0x8b3631fd
and eax, 0xdf3e35fd
mov qword [rsp + 0x38], rcx
cmp eax, 0x655f27e1
jb 0x1400f3180
mov r14d, 1
jmp 0x1400f31b3
xor r14d, r14d
mov eax, dword [0x141dc4bf0]
sub eax, dword [0x141dc4bf4]
add eax, 0x5d9a2632
xor eax, 0xd1256689
add eax, 0x8ba802e5
cmp eax, 0xb3bf92e6
ja 0x1400f3210
mov eax, dword [0x141dc4bf8]
xor edx, edx
div dword [0x141dc4bfc]
mov ebx, eax
add ebx, 0xa78c3eca
xor ebx, 0xea606a95
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0x28]
mov rdx, rdi
call fcn.1400381c0
cmp ebx, 0x3ccb58f2
jae 0x1400f3229
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0x28]
mov rdx, rdi
call fcn.1400381c0
jmp 0x1400f31d5
cmp qword [rsp + 0x40], 0
jne 0x1400f32a0
mov eax, dword [0x141dc4c08]
imul eax, dword [0x141dc4c0c]
xor eax, 0xe1009b25
or eax, 0x1ee7641a
cmp eax, 0xa7a56525
jne 0x1400f3260
mov rax, qword [rsp + 0x48]
mov qword [rsi + 8], rax
nop dword [rax + rax]
mov eax, dword [0x141dc4c10]
xor edx, edx
div dword [0x141dc4c14]
add eax, 0xf5f8c844
imul rax, rax, 0x3bdf0def
shr rax, 0x3d
or eax, 0x77a33248
mov rcx, qword [rsp + 0x48]
mov qword [rsi + 8], rcx
cmp eax, 0xd7880454
ja 0x1400f3260
mov qword [rsi], rdi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
ud2