Function at 0x201073f0
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 [0x205a38a0]
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.2010b610
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 0x201074e5
lea rax, [rdx + r9*8]
nop dword [rax + rax]
mov ecx, dword [0x205b3924]
cmp ecx, 0x42
jg 0x201074d4
mov qword [r14 + 0x38], rax
mov ecx, dword [0x205b3920]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x20107558
mov qword [r14 + 0x38], rax
mov ecx, dword [0x205b3924]
cmp ecx, 0x52
jge 0x201074b0
jmp 0x201074bb
jae 0x20107558
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 0x20107529
lea r8, [rsp + 0x70]
mov rcx, rbx
mov rdx, r9
call fcn.20108880
jmp 0x20107558
sub r9, rcx
lea rdi, [rax + r9*8]
mov ecx, dword [0x205445b0]
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.2044feb0
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.2010b620
mov ecx, dword [0x205445ac]
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 0x201079be
add ecx, 0x112bb674
cmp dword [rsp + 0x7c], ecx
je 0x201079be
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 [0x205b3920]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x20107620
cmp rax, 0x7f
ja 0x2010764e
mov edx, 0x20
mov rcx, rsi
call fcn.20108b90
mov eax, dword [0x205b3924]
cmp eax, 0x25
jg 0x20107670
mov eax, dword [0x205b3930]
add eax, dword [rsp + 0x7c]
mov ecx, dword [0x205b3924]
cmp ecx, 0x39
jl 0x2010768e
nop
mov eax, dword [0x205b3920]
lea ecx, [rax - 0x54e436c]
not ecx
add ecx, 0x846eab8
imul ecx, eax
test cl, 1
jne 0x20107670
jmp 0x20107659
test eax, eax
je 0x20107980
movabs r13, 0xbc2c61de20d640c1
movabs rbx, 0x887f013893553301
lea r8, [rsp + 0x6c]
lea rbp, [fcn.201073f0]
xor edi, edi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], rsi
jmp 0x201076fa
mov dword [rsp + 0x6c], eax
mov r14, qword [rsi + 8]
cmp r14, qword [rsi + 0x10]
je 0x20107896
mov dword [r14], eax
add qword [rsi + 8], 4
inc rdi
mov eax, dword [rsp + 0x7c]
cmp rdi, rax
jae 0x20107980
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax]
mov rdx, qword [rax + 8]
cmp rsi, rdx
je 0x20107820
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 0x20107850
shr rcx, 2
mov r9, qword [0x205b3928]
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 [0x205b3924]
cmp ecx, 0x29
mov r10, qword [0x205445b0]
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 [0x205445ac]
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 0x20107799
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 0x20107790
jmp 0x20107853
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 0x201078c4
xor ecx, ecx
test cl, cl
jne 0x201078ff
jmp 0x201078e0
mov rcx, rsi
cmp rcx, rdx
mov r12, qword [rsp + 0x58]
lea r8, [rsp + 0x6c]
mov rsi, qword [rsp + 0x50]
je 0x201076d0
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 0x20107930
jmp 0x20107910
mov eax, dword [0x205b3920]
lea ecx, [rax + 0x1093abe]
not ecx
imul ecx, eax
and ecx, 1
mov eax, dword [0x205445ac]
mov edx, 0x112bb674
add eax, edx
cmp ecx, eax
je 0x20107950
jmp 0x2010796e
mov rcx, rsi
call fcn.201085a0
lea r8, [rsp + 0x6c]
jmp 0x201076ea
mov dword [rdx], eax
add qword [rsi + 8], 4
mov ecx, dword [0x205b3920]
lea r9d, [rcx - 1]
imul r9d, ecx
test r9b, 1
je 0x201076ea
mov dword [rdx], eax
add qword [rsi + 8], 4
jmp 0x201078e0
mov dl, 1
test dl, dl
je 0x20107930
cmp dword [rcx], eax
ja 0x201076d0
jmp 0x201076ea
mov edx, dword [0x205b3920]
mov r9d, dword [0x205445ac]
add r9d, edx
inc r9d
imul r9d, edx
test r9b, 1
jne 0x20107930
jmp 0x20107910
mov rcx, rsi
mov rdx, r14
call fcn.201085a0
lea r8, [rsp + 0x6c]
cmp qword [0x205b3928], 0
je 0x201076ea
mov rcx, rsi
mov rdx, r14
call fcn.201085a0
lea r8, [rsp + 0x6c]
jmp 0x20107950
mov rcx, rsi
call fcn.201079f0
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.201091c0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.204278f0
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret