Function at 0x140256c60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
nop
mov eax, dword [0x1415d14a0]
or eax, dword [0x1415d14a4]
mov ecx, eax
xor ecx, 0xcd57deae
xor eax, 0x32a82151
mov r8d, eax
and r8d, 0x3c48542f
and ecx, 0xc3b7abd0
imul ecx, r8d
mov r8d, eax
and r8d, 0xc3b7abd0
or eax, 0xc3b7abd0
imul eax, r8d
add eax, ecx
add eax, 0x272e0be4
cmp eax, 0x25f112f
jb 0x140256c70
cmp rdx, 0xffffffffffffffff
je 0x14025702a
movabs rax, 0x3ffffffffffffff
mov r8d, 0xa4c1c551
inc rdx
mov r9d, 4
nop word cs:[rax + rax]
mov r10d, dword [0x1415d14a8]
imul r10d, dword [0x1415d14ac]
add r10d, 0x815895fe
imul r10, r8
shr r10, 0x3e
add r10d, 0x871baaab
mov rcx, qword [rsi]
lea r14, [rcx + rcx]
cmp r14, rdx
cmovbe r14, rdx
cmp r14, 5
cmovb r14, r9
cmp r10d, 0x431d079f
jb 0x140256cf0
xor edi, edi
cmp r14, rax
setbe dil
test rcx, rcx
je 0x140256db7
mov eax, 0x9637ea4f
shl rcx, 5
nop dword [rax + rax]
mov edx, dword [0x1415d14b0]
sub edx, dword [0x1415d14b4]
imul edx, edx, 0x3b97c550
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xa84fee5a
ja 0x140256d50
mov eax, dword [0x1415d14b8]
xor edx, edx
div dword [0x1415d14bc]
lea edx, [rax + 0x8760903]
mov r8d, edx
and r8d, 0x78225113
xor edx, 0x87ddaeec
add eax, edx
add eax, 0x8760903
sub eax, r8d
mov edx, 0x9cd0bfaf
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x9639f123
jbe 0x140256dbc
jmp 0x140256dd0
xor r15d, r15d
jmp 0x140256e2d
mov rax, qword [rsi + 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rcx
xor eax, eax
test al, al
je 0x140256de0
mov rax, qword [rsi + 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rcx
jmp 0x140256dbc
mov eax, 0xfca9b52f
nop word cs:[rax + rax]
mov ecx, dword [0x1415d14c0]
imul ecx, dword [0x1415d14c4]
imul rcx, rax
shr rcx, 0x3d
mov edx, ecx
xor edx, 0x3a701c61
add edx, ecx
and ecx, 0xfffffffe
sub edx, ecx
imul rcx, rdx, 0xd9f728b
shr rcx, 0x39
cmp ecx, 0x6c57ddde
je 0x140256df0
mov r15d, 8
mov rbx, r14
shl rbx, 5
shl rdi, 3
mov eax, dword [0x1415d14c8]
mov ecx, dword [0x1415d14cc]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
xor ecx, 0x56584426
and ecx, eax
imul rax, rcx, 0x29b1b1ab
shr rax, 0x3d
or eax, 0xceefa9d6
cmp eax, 0xb2ea36f4
je 0x140256eff
mov eax, dword [0x1415d14d0]
mov ecx, dword [0x1415d14d4]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
imul eax, eax, 0xe3a99e6b
mov ebp, eax
or ebp, 0x4604377
not eax
and eax, 0x9199a008
mov ecx, ebp
and ecx, 0x6a061ec0
or ecx, eax
xor ecx, 0xa5c56c09
and ebp, 0x303c8d36
or ebp, ecx
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov rdx, rdi
mov r8, rbx
call fcn.14013a410
cmp ebp, 0xc3a22a63
jne 0x140256f1e
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov rdx, rdi
mov r8, rbx
call fcn.14013a410
jmp 0x140256e85
cmp qword [rsp + 0x40], 0
jne 0x140256fd0
nop word [rax + rax]
mov eax, dword [0x1415d14e8]
and eax, dword [0x1415d14ec]
mov ecx, eax
and ecx, 0x796cffe1
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x796cffe1
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xc517e526
and ecx, 0x3ae81ad9
imul ecx, edx
mov edx, eax
and edx, 0x3ae81ad9
or eax, 0x3ae81ad9
imul eax, edx
add eax, ecx
add eax, 0x8ad20557
cmp eax, 0xf0e77bb
ja 0x140256f30
mov rax, qword [rsp + 0x48]
mov qword [rsi + 8], rax
mov eax, dword [0x1415d14f4]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [str._0i_v]
xor ecx, eax
add ecx, 0x987774e9
and ecx, 0x99f52fd3
imul eax, ecx, 0x9901196d
cmp eax, 0xfdf5ca20
jbe 0x140257090
jmp 0x1402570ce
mov eax, dword [0x1415d14d8]
mov ecx, dword [0x1415d14dc]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
and ecx, 0x56914388
add ecx, ecx
sub eax, ecx
imul eax, eax, 0x8b2f85af
add eax, 0xe35ad1f8
mov ecx, eax
not ecx
and ecx, 0x89fccf71
mov edx, eax
and edx, 0x7603308e
imul edx, ecx
mov ecx, eax
and ecx, 0x89fccf71
or eax, 0x89fccf71
imul eax, ecx
add eax, edx
cmp eax, 0x742fd336
je 0x140256fd0
ud2
mov eax, dword [0x1415d14f8]
xor edx, edx
div dword [0x1415d14fc]
mov ecx, eax
not ecx
or ecx, 0x420c0c82
and ecx, 0xd26d9de6
and eax, 0x2c104018
sub eax, ecx
mov ecx, eax
and ecx, 0x2524223e
or eax, 0x252c2a3f
add eax, ecx
mov qword [rsi], r14
cmp eax, 0x1f028c18
jae 0x1402570d3
mov qword [rsi], r14
jmp 0x140257090
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret