Function at 0x1401243f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rsi, r8
mov qword [rsp + 0x60], rdx
mov r14, rcx
mov rax, qword [0x1405c08a0]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x7c], 0
lea rcx, [rsp + 0x7c]
mov edx, 0x8b0122fa
mov r8d, 0x32493a72
mov r9d, 0x8afbef34
call fcn.140128610
lea rbx, [r14 + 0x30]
mov r9d, dword [rsp + 0x7c]
mov rdx, qword [r14 + 0x30]
mov rax, qword [r14 + 0x38]
movabs r8, 0xd34230adf26050c5
lea r10, [rdx + r8]
movabs r11, 0xbc2b8e0cf84f7b17
movabs rcx, 0xc47945b4a65b63de
sub rcx, rcx
sub rcx, rax
add rcx, r11
sub r11, r10
movabs r10, 0x448c11c77329738a
add r8, r10
add r8, r11
sub rcx, r8
add rcx, r10
neg rcx
sar rcx, 3
cmp rcx, r9
jbe 0x1401244e5
lea rax, [rdx + r9*8]
nop dword [rax + rax]
mov ecx, dword [0x1405d0924]
cmp ecx, 0x42
jg 0x1401244d4
mov qword [r14 + 0x38], rax
mov ecx, dword [0x1405d0920]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140124558
mov qword [r14 + 0x38], rax
mov ecx, dword [0x1405d0924]
cmp ecx, 0x52
jge 0x1401244b0
jmp 0x1401244bb
jae 0x140124558
mov r8, qword [r14 + 0x40]
movabs r10, 0x5ebde13d96f4073
add rdx, r10
movabs r11, 0xdf674bc9bb396c2e
sub r8, r11
sub r8, rdx
add r10, r11
add r10, r8
sar r10, 3
cmp r10, r9
jae 0x140124529
lea r8, [rsp + 0x70]
mov rcx, rbx
mov rdx, r9
call fcn.140125880
jmp 0x140124558
sub r9, rcx
lea rdi, [rax + r9*8]
mov ecx, dword [0x1405615b0]
mov edx, ecx
xor edx, 0x8a
and ecx, 0xa
lea ecx, [rdx + rcx*2]
shl r9, cl
mov rcx, rax
xor edx, edx
mov r8, r9
call fcn.14046ceb0
mov qword [r14 + 0x38], rdi
mov qword [rsp + 0x70], 0
mov rdx, qword [r14 + 0x30]
movabs rax, 0xa839c35c2aadbfc7
mov rcx, rax
sub rcx, qword [r14 + 0x38]
lea r8, [rdx + rcx]
neg r8
add rcx, rdx
dec rcx
xor rcx, r8
and rcx, rax
xor rcx, r8
and r8, rax
add r8, r8
mov rax, rcx
xor rax, r8
and r8, rcx
lea r8, [rax + r8*2]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x40], 0x1f174a22
mov dword [rsp + 0x38], 0x5aadb77e
mov dword [rsp + 0x30], 0xf500c8d3
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x7c]
xor r9d, r9d
call fcn.140128620
mov ecx, dword [0x1405615ac]
lea edx, [rcx + 0x112bb671]
mov r8d, eax
xor r8d, edx
and eax, edx
lea eax, [r8 + rax*2]
lea edx, [rcx + 0x112bb672]
cmp eax, edx
jb 0x1401249be
add ecx, 0x112bb674
cmp dword [rsp + 0x7c], ecx
je 0x1401249be
movabs r15, 0x12f910e323c74687
test rsi, rsi
nop dword [rax]
mov r12, qword [rbx]
mov rax, qword [rsi + 0x10]
sub rax, qword [rsi]
mov ecx, dword [0x1405d0920]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140124620
cmp rax, 0x7f
ja 0x14012464e
mov edx, 0x20
mov rcx, rsi
call fcn.140125b90
mov eax, dword [0x1405d0924]
cmp eax, 0x25
jg 0x140124670
mov eax, dword [0x1405d0930]
add eax, dword [rsp + 0x7c]
mov ecx, dword [0x1405d0924]
cmp ecx, 0x39
jl 0x14012468e
nop
mov eax, dword [0x1405d0920]
lea ecx, [rax - 0x54e436c]
not ecx
add ecx, 0x846eab8
imul ecx, eax
test cl, 1
jne 0x140124670
jmp 0x140124659
test eax, eax
je 0x140124980
movabs r13, 0xbc2c61de20d640c1
movabs rbx, 0x887f013893553301
lea r8, [rsp + 0x6c]
lea rbp, [fcn.1401243f0]
xor edi, edi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], rsi
jmp 0x1401246fa
mov dword [rsp + 0x6c], eax
mov r14, qword [rsi + 8]
cmp r14, qword [rsi + 0x10]
je 0x140124896
mov dword [r14], eax
add qword [rsi + 8], 4
inc rdi
mov eax, dword [rsp + 0x7c]
cmp rdi, rax
jae 0x140124980
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax]
mov rdx, qword [rax + 8]
cmp rsi, rdx
je 0x140124820
mov eax, dword [r12 + rdi*8]
movabs rcx, 0x948b0e44c6226f8f
mov r9, rcx
movabs r10, 0x324732adf2d21727
sub r9, r10
sub r9, rdx
add r9, r10
sub rcx, r9
sub rcx, rsi
test rcx, rcx
jle 0x140124850
shr rcx, 2
mov r9, qword [0x1405d0928]
mov r10, rcx
mov r11, r9
xor rcx, r9
not r9
not r10
mov r14, r9
xor r14, r10
and r9, r14
and r11, r10
or r11, r9
not r14
and r14, r10
or r14, rcx
not r14
add r14, r14
mov rcx, r11
xor rcx, r14
and r14, r11
lea r9, [rcx + r14*2]
nop word [rax + rax]
mov ecx, dword [0x1405d0924]
cmp ecx, 0x29
mov r10, qword [0x1405615b0]
lea ecx, [r10 + r15]
inc cl
mov r14, r9
shr r14, cl
mov r11, r14
not r11
add r11, r9
cmp dword [rsi + r14*4], eax
lea rcx, [rsi + r14*4 + 4]
cmovae rcx, rsi
cmovae r11, r14
xor r14d, r14d
sub r14d, dword [0x1405615ac]
mov r12d, r14d
xor r12d, 0xeed4498b
and r14d, 0x6ed4498b
lea r14d, [r12 + r14*2]
neg r14d
lea r12d, [rbp + rbp + 0x3b40]
test r12d, r14d
jne 0x140124799
mov r14, r15
sub r14, rbx
add r14, r10
sub r14, r13
add r14, rbx
add r14, r13
mov r9, r11
mov rsi, rcx
cmp r11, r14
jg 0x140124790
jmp 0x140124853
mov eax, dword [r12 + rdi*8]
mov dword [rsp + 0x6c], eax
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1401248c4
xor ecx, ecx
test cl, cl
jne 0x1401248ff
jmp 0x1401248e0
mov rcx, rsi
cmp rcx, rdx
mov r12, qword [rsp + 0x58]
lea r8, [rsp + 0x6c]
mov rsi, qword [rsp + 0x50]
je 0x1401246d0
lea edx, [rbp + rbp + 0x2ae0]
lea r10d, [rbp + rbp + 0x2ae1]
mov r9d, r10d
and r9d, edx
not edx
or r9d, edx
and edx, r10d
or edx, r9d
cmp edx, 0xffffffff
jne 0x140124930
jmp 0x140124910
mov eax, dword [0x1405d0920]
lea ecx, [rax + 0x1093abe]
not ecx
imul ecx, eax
and ecx, 1
mov eax, dword [0x1405615ac]
mov edx, 0x112bb674
add eax, edx
cmp ecx, eax
je 0x140124950
jmp 0x14012496e
mov rcx, rsi
call fcn.1401255a0
lea r8, [rsp + 0x6c]
jmp 0x1401246ea
mov dword [rdx], eax
add qword [rsi + 8], 4
mov ecx, dword [0x1405d0920]
lea r9d, [rcx - 1]
imul r9d, ecx
test r9b, 1
je 0x1401246ea
mov dword [rdx], eax
add qword [rsi + 8], 4
jmp 0x1401248e0
mov dl, 1
test dl, dl
je 0x140124930
cmp dword [rcx], eax
ja 0x1401246d0
jmp 0x1401246ea
mov edx, dword [0x1405d0920]
mov r9d, dword [0x1405615ac]
add r9d, edx
inc r9d
imul r9d, edx
test r9b, 1
jne 0x140124930
jmp 0x140124910
mov rcx, rsi
mov rdx, r14
call fcn.1401255a0
lea r8, [rsp + 0x6c]
cmp qword [0x1405d0928], 0
je 0x1401246ea
mov rcx, rsi
mov rdx, r14
call fcn.1401255a0
lea r8, [rsp + 0x6c]
jmp 0x140124950
mov rcx, rsi
call fcn.1401249f0
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
movabs rax, 0x9771a160b7a36374
mov r9, rdx
sub r9, rax
movabs r8, 0x896ccbba6cdc340b
sub r9, r8
sub r9, rcx
add r8, rax
add r8, r9
sar r8, 2
call fcn.1401261c0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1404448f0
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret