Function at 0x14010ffe0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r11, rdx
mov rdi, rcx
mov rax, qword [0x140554790]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rax, rdx
sub rax, rcx
cmp rax, 0x84
jl 0x1401101ac
mov rbx, r8
test r8, r8
jle 0x140110397
movabs r13, 0x487c6483fb2aa63b
mov bpl, 1
lea r14, [fcn.14010ffe0]
mov r12, r11
nop word [rax + rax]
lea rcx, [rsp + 0x40]
mov rdx, rdi
mov rsi, r11
mov r8, r11
call fcn.140110980
mov rax, rbx
shr rax, 1
shr rbx, 2
add rbx, rax
mov rdx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov rax, rdx
sub rax, r13
sub rax, rdi
mov rcx, rax
xor rcx, r13
and rax, r13
lea rax, [rcx + rax*2]
sub r12, r15
cmp rax, r12
jge 0x1401100a0
mov rcx, rdi
mov r8, rbx
call fcn.14010ffe0
mov rdi, qword [rsp + 0x48]
mov r11, rsi
jmp 0x1401100ff
mov eax, dword [0x1405640dc]
cmp eax, 0x5d
jle 0x1401100e0
jmp 0x140110130
test rbx, rbx
sete cl
movzx edx, byte [0x1405640e1]
test dl, cl
jne 0x140110397
xor dl, cl
mov r12, r11
je 0x140110040
jmp 0x140110397
mov rcx, r15
mov rdx, rsi
mov r8, rbx
call fcn.14010ffe0
cmp dword [0x140501b88], 0x1c30615d
jne 0x140110130
mov r11, qword [rsp + 0x40]
mov eax, dword [0x1405640d8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140501b88]
mov edx, 0xe3cf9ea3
add eax, edx
cmp ecx, eax
jne 0x140110150
jmp 0x140110140
mov rcx, r15
mov rdx, rsi
mov r8, rbx
call fcn.14010ffe0
jmp 0x1401100e0
test bpl, bpl
jne 0x140110170
nop word cs:[rax + rax]
lea eax, [r14 + r14]
add eax, 0x3200
mov ecx, eax
not ecx
test ecx, eax
jne 0x140110150
jmp 0x140110140
mov rax, r11
movabs rdx, 0xf5470be1201c1dfb
sub rax, rdx
movabs rcx, 0xe41de0d4cd04c313
add rax, rcx
sub rax, rdi
sub rax, rcx
mov rcx, rax
xor rcx, rdx
and rax, rdx
lea rax, [rcx + rax*2]
cmp rax, 0x84
jge 0x1401100b0
cmp rdi, r11
je 0x140110960
lea rbx, [rdi + 4]
cmp rbx, r11
je 0x140110960
xor esi, esi
lea r15, [rsp + 0x40]
mov bpl, 1
mov r12, rbx
jmp 0x1401101f0
add r12, 4
inc rsi
cmp r12, r11
je 0x140110960
cmp r15, r12
je 0x1401101fd
mov eax, dword [r12]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
cmp eax, dword [rdi]
jae 0x140110270
mov r13, r11
lea r14, [rsi*4 + 4]
mov eax, dword [0x1405640dc]
cmp eax, 0x52
jg 0x140110254
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.14040bf30
mov eax, dword [0x1405640d8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140501b88]
mov edx, eax
xor edx, 0x1c30615c
and edx, eax
xor eax, 0xe3cf9ea3
lea eax, [rax + rdx*2]
cmp ecx, eax
je 0x140110290
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.14040bf30
test bpl, bpl
je 0x140110210
jmp 0x14011021b
mov ecx, dword [0x1405640d8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401102d0
jmp 0x1401102b0
cmp r15, rdi
mov r11, r13
je 0x140110357
mov eax, dword [rsp + 0x40]
mov dword [rdi], eax
jmp 0x140110357
mov ecx, dword [r12 - 4]
mov edx, dword [0x1405640dc]
cmp edx, 0x42
jge 0x1401102d0
mov rdx, r12
cmp eax, ecx
jae 0x140110330
lea r8, [r12 - 4]
jmp 0x1401102ef
mov ecx, dword [0x1405640dc]
cmp ecx, 0x23
jge 0x1401102d0
jmp 0x1401102b0
mov rdx, r8
add r8, 0xfffffffffffffffc
mov ecx, r9d
cmp eax, r9d
jae 0x140110330
mov eax, dword [0x1405640d8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140110320
mov dword [r8 + 4], ecx
mov eax, dword [rsp + 0x40]
mov r9d, dword [r8 - 4]
mov edx, dword [0x1405640d8]
lea r10d, [rdx - 1]
imul r10d, edx
test r10b, 1
je 0x1401102e0
mov dword [r8 + 4], ecx
jmp 0x140110300
cmp rdx, r15
je 0x140110357
mov ecx, dword [0x1405640d8]
lea r8d, [rcx + 1]
imul r8d, ecx
test r8b, 1
jne 0x140110370
nop dword [rax]
mov dword [rdx], eax
test bpl, bpl
je 0x140110370
mov eax, dword [0x1405640dc]
cmp eax, 0x49
jg 0x140110390
jmp 0x140110380
mov dword [rdx], eax
mov ecx, dword [0x1405640dc]
cmp ecx, 0x3f
jge 0x140110370
jmp 0x140110350
mov eax, dword [0x1405640dc]
cmp eax, 0x18
jl 0x1401101e0
nop
test bpl, bpl
je 0x140110390
jmp 0x140110380
mov qword [rsp + 0x28], r11
mov rdx, rax
shr rdx, 3
mov r8, rax
shr r8, 2
lea r9, [r8 - 1]
mov r10, r9
shr r10, 1
lea r11, [fcn.14010ffe0]
xor esi, esi
mov ebx, 0xe3cf9eaf
movabs r13, 0x29eb032301148aa4
jmp 0x1401103dd
cmp rdx, 1
mov rdx, r15
jle 0x1401105e3
lea rcx, [rdi + rdx*4]
add rcx, 0xfffffffffffffffc
lea r14, [rsp + 0x40]
cmp r14, rcx
je 0x1401103f5
mov ecx, dword [rcx]
mov dword [rsp + 0x40], ecx
lea r15, [rdx - 1]
mov rcx, r15
cmp r10, rdx
jge 0x140110430
test al, 4
jne 0x140110520
cmp rcx, r10
jne 0x140110490
mov r12, r9
cmp rcx, r9
je 0x140110493
mov ebp, dword [rdi + r8*4 - 4]
mov dword [rdi + rcx*4], ebp
mov r12, r9
cmp r12, rdx
jl 0x14011049c
jmp 0x14011052c
mov r14, r15
jmp 0x140110448
mov r14, rcx
cmp rcx, r10
jge 0x140110401
lea rcx, [r14 + r14]
mov ebp, dword [rdi + rcx*4 + 8]
cmp ebp, dword [rdi + rcx*4 + 4]
jb 0x140110470
lea rcx, [r14 + r14]
add rcx, 2
cmp r14, rcx
je 0x140110440
jmp 0x14011047c
lea rcx, [r14 + r14]
inc rcx
cmp r14, rcx
je 0x140110440
mov ebp, dword [rdi + rcx*4]
mov dword [rdi + r14*4], ebp
jmp 0x140110440
mov r12, rcx
cmp r12, rdx
jge 0x14011052c
mov r14, r12
lea rcx, [rdi + r14*4]
lea r14, [rsp + 0x40]
cmp rcx, r14
je 0x1401104c0
mov ebp, dword [rsp + 0x40]
mov dword [rcx], ebp
nop word cs:[rax + rax]
mov ecx, dword [0x1405640d8]
mov r14d, dword [0x140501b88]
mov ebp, ecx
sub ebp, r14d
add ebp, 0x74d26950
imul ebp, ecx
and ebp, 1
mov ecx, r14d
xor ecx, 0xcfae7c6e
and r14d, 0x4fae7c6e
lea ecx, [rcx + r14*2]
add ecx, 0x14212235
cmp ebp, ecx
jne 0x14011050b
mov ecx, dword [0x1405640dc]
cmp ecx, 0x26
jle 0x1401103d0
lea ecx, [r11 + r11]
add ecx, 0x49c0
mov ebp, ecx
not ebp
test ebp, ecx
jne 0x1401104c0
jmp 0x1401104fc
mov r12, rcx
cmp r12, rdx
jl 0x14011049c
test sil, sil
mov ebp, dword [rsp + 0x40]
mov ecx, dword [0x1405640d8]
mov r14d, 1
sub r14d, ecx
imul r14d, ecx
test r14b, 1
jne 0x14011052f
jmp 0x140110562
or cl, byte [0x1405640e0]
mov r12, r14
test cl, 1
jne 0x14011049f
lea r14, [r12 - 1]
mov ecx, dword [0x140501b90]
add ecx, r13d
sar r14, cl
mov ecx, dword [rdi + r14*4]
cmp ecx, ebp
jae 0x14011049c
cmp r12, r14
je 0x140110588
mov dword [rdi + r12*4], ecx
mov ecx, dword [0x1405640dc]
mov r12d, dword [0x140501b88]
add r12d, ebx
cmp ecx, r12d
jge 0x1401105c0
nop dword [rax]
cmp r14, rdx
setl cl
cmp dword [0x140501b88], 0x1c30615d
je 0x140110550
nop word cs:[rax + rax]
mov ecx, dword [0x140501b88]
add ecx, 0xe3cf9ea4
lea r12d, [r11 + r11]
add r12d, 0x3380
xor ecx, r12d
not ecx
test ecx, r12d
jne 0x1401105c0
jmp 0x1401105a0
cmp rax, 5
mov r11, qword [rsp + 0x28]
jl 0x140110960
lea r13, [fcn.14010ffe0]
mov r12b, 1
lea rbx, [0x140111730]
jmp 0x14011061a
cmp r15, 4
jle 0x140110960
add r11, 0xfffffffffffffffc
lea rax, [rsp + 0x40]
cmp rax, r11
je 0x14011062f
mov eax, dword [r11]
mov dword [rsp + 0x40], eax
mov rcx, r11
sub rcx, rdi
je 0x14011063c
mov eax, dword [rdi]
mov dword [r11], eax
mov qword [rsp + 0x28], r11
mov rsi, rcx
sar rsi, 2
lea rbp, [rsi - 1]
mov qword [rsp + 0x30], rbp
sar rbp, 1
mov qword [rsp + 0x38], rcx
cmp rcx, 9
jl 0x140110750
xor r15d, r15d
jmp 0x14011067c
mov r15, r14
cmp r14, rbp
jge 0x140110753
lea rax, [r15 + r15]
lea rcx, [r15 + r15]
add rcx, 2
mov edx, dword [rdi + rax*4 + 8]
cmp edx, dword [rdi + rax*4 + 4]
lea r14, [r15 + r15 + 1]
cmovae r14, rcx
cmp r15, r14
jne 0x1401106b0
mov eax, dword [0x1405640dc]
cmp eax, 0x47
jg 0x140110740
jmp 0x140110720
mov eax, dword [0x1405640d8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401106da
mov eax, dword [rdi + r14*4]
mov dword [rdi + r15*4], eax
mov eax, dword [0x1405640d8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x14011069e
mov ecx, 0x19
call fcn.1403c3d24
mov qword [0x1405640d0], rax
mov rcx, rbx
call fcn.1403e45e0
mov eax, dword [rdi + r14*4]
mov dword [rdi + r15*4], eax
mov eax, dword [0x1405640d8]
mov ecx, dword [0x140501b88]
neg ecx
add ecx, eax
add ecx, 0x1c30615c
imul ecx, eax
test cl, 1
jne 0x1401106b0
jmp 0x1401106c1
lea eax, [r13 + r13 + 0x180]
mov ecx, eax
not ecx
test ecx, eax
je 0x140110670
nop word cs:[rax + rax]
test r12b, r12b
je 0x140110740
jmp 0x140110720
xor r14d, r14d
mov r15, qword [rsp + 0x38]
mov rax, r15
not rax
mov rcx, rax
and rcx, 0xfffffffffffffffb
mov edx, r15d
and edx, 4
or rdx, rcx
mov rcx, rdx
not rcx
xor rdx, r15
and rcx, rax
or rcx, rdx
cmp rcx, 0xffffffffffffffff
jne 0x140110820
cmp r14, rbp
mov r11, qword [rsp + 0x28]
mov r9d, 0
jne 0x140110828
nop dword [rax + rax]
mov eax, dword [0x1405640d8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401107a0
mov eax, dword [0x1405640dc]
cmp eax, 0x52
jge 0x1401107a0
mov rdx, qword [rsp + 0x30]
cmp r14, rdx
jne 0x1401107d0
mov r14, rdx
jmp 0x140110828
lea eax, [r13 + r13 + 0x680]
mov ecx, eax
not ecx
test ecx, eax
jne 0x140110804
mov eax, dword [rdi + rsi*4 - 4]
mov dword [rdi + r14*4], eax
mov eax, dword [0x1405640d8]
mov ecx, dword [0x140501b88]
add ecx, eax
add ecx, 0xe3cf9ea4
imul ecx, eax
test cl, 1
je 0x1401107c6
mov eax, dword [rdi + rsi*4 - 4]
mov dword [rdi + r14*4], eax
mov eax, dword [0x1405640d8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401107d0
jmp 0x1401107e0
mov r11, qword [rsp + 0x28]
xor r9d, r9d
movabs rsi, 0x29eb032301148aa4
mov rax, rsi
movabs rcx, 0x53b29a1e6a2ab6fb
sub rax, rcx
movabs r8, 0x3f4546487d7dc97
add rax, r8
movabs rdx, 0x3f78da938bd3d819
add rcx, rdx
add rax, rcx
add rax, qword [0x140501b90]
sub rax, rdx
movabs rcx, 0xb791ff9374c5dcf3
add rax, rcx
sub rax, r8
not rcx
add rcx, rax
cmp r14, rcx
jle 0x140110943
nop dword [rax + rax]
test r9b, r9b
jne 0x14011089a
test r9b, r9b
je 0x1401108b0
mov eax, dword [0x1405640dc]
cmp eax, 0x51
jge 0x140110890
jmp 0x140110895
mov eax, dword [rsp + 0x40]
jmp 0x1401108c9
mov r14, r8
cmp rdx, 2
jb 0x140110940
mov ecx, dword [0x1405640d8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140110920
nop word [rax + rax]
lea rdx, [r14 - 1]
mov ecx, dword [0x140501b90]
mov r8d, esi
xor r8d, ecx
and ecx, esi
lea ecx, [r8 + rcx*2]
mov r8, rdx
shr r8, cl
mov ecx, dword [rdi + r8*4]
mov r9d, dword [0x1405640d8]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x140110930
nop word cs:[rax + rax]
mov ecx, dword [0x1405640dc]
cmp ecx, 0x57
jge 0x140110920
jmp 0x1401108e0
cmp ecx, eax
jae 0x140110943
cmp r14, r8
je 0x1401108c0
mov dword [rdi + r14*4], ecx
jmp 0x1401108c0
xor r14d, r14d
lea rax, [rdi + r14*4]
lea rcx, [rsp + 0x40]
cmp rax, rcx
je 0x140110610
mov ecx, dword [rsp + 0x40]
mov dword [rax], ecx
jmp 0x140110610
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1403e4010
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret