Function at 0x1402fa520
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
xor edi, edi
mov rsi, r9
mov r14d, edi
mov r13, r8
mov r15, rdx
mov rbx, rcx
call fcn.1401c2b50
mov rcx, rbx
mov qword [rsp + 0x68], rax
call fcn.14018ce00
mov rcx, rax
mov rbp, rax
call fcn.1401ca460
mov rcx, rbx
mov qword [rsp + 0xb0], rax
call fcn.1401c9fe0
mov rcx, r15
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x58], rdi
mov ebx, edi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x50], rdi
call fcn.140245490
mov dword [rsp + 0x48], eax
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rdi
cmp qword [rsp + 0x68], rbx
je 0x1402fab53
test eax, eax
jle 0x1402fab53
mov rcx, rbp
call fcn.1402fb290
mov r15, rax
test rax, rax
je 0x1402fab53
mov rcx, rbp
call fcn.14025fb20
mov rcx, rbp
mov qword [rsp + 0x58], rax
call fcn.14025fb20
mov qword [rsp + 0x60], rax
call fcn.14024fd80
mov r14, rax
cmp qword [rsp + 0x58], rbx
je 0x1402fab4b
cmp qword [rsp + 0x60], rbx
je 0x1402fab4b
test rax, rax
je 0x1402fab4b
mov rcx, rax
call fcn.14024ff00
mov rcx, r14
call fcn.140250030
mov rcx, r14
mov r12, rax
call fcn.140250030
mov rcx, r14
mov qword [rsp + 0x80], rax
call fcn.140250030
mov rcx, r14
mov qword [rsp + 0x78], rax
call fcn.140250030
mov rcx, r14
mov qword [rsp + 0x88], rax
call fcn.140250030
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1402fa67a
lea r8d, [rdi + 3]
jmp 0x1402fab59
lea rcx, [r15 + r15]
xor r8d, r8d
lea rdx, [0x140400661]
call fcn.1401ba790
movsxd rcx, dword [rsp + 0x48]
lea rdx, [0x140400661]
xor r8d, r8d
mov qword [rsp + 0x50], rax
call fcn.1401ba790
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x50], rbx
je 0x1402fab28
test rax, rax
je 0x1402fab28
mov rax, qword [rsp + 0x118]
xor edx, edx
mov rcx, qword [rsp + 0x110]
mov r8, qword [rax]
call fcn.140376d40
mov rdx, qword [rsp + 0xb0]
mov rcx, r12
call fcn.1402b2db0
test eax, eax
jne 0x1402fa713
mov edx, 0x67
mov dword [rsp + 0x20], edi
lea r9, [0x140400661]
lea ecx, [rdx - 0x32]
lea r8d, [rdx - 0x23]
call fcn.1401d8bf0
mov rbp, qword [rsp + 0x40]
jmp 0x1402fab74
mov rdx, qword [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x28], r14
mov r8, r12
mov rcx, rbp
mov qword [rsp + 0x20], rdi
call fcn.1402604c0
test eax, eax
je 0x1402fab05
mov r9, qword [rsp + 0x88]
mov rcx, rbp
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x20], r14
call fcn.14025ff40
test eax, eax
je 0x1402fab05
mov r9, qword [rsp + 0xb8]
xor r8d, r8d
mov rdx, qword [rsp + 0x60]
mov rcx, rbp
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r12
call fcn.1402604c0
test eax, eax
je 0x1402fab05
mov r12, qword [rsp + 0x70]
mov rcx, rbp
mov r8, qword [rsp + 0x78]
mov r9, r12
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x20], r14
call fcn.14025ff40
test eax, eax
je 0x1402fab05
mov rbp, qword [rsp + 0x50]
mov r8d, r15d
mov rcx, qword [rsp + 0x78]
mov rdx, rbp
call fcn.1401bea20
test eax, eax
js 0x1402fa6ed
lea rax, [r15 + rbp]
mov r8d, r15d
mov rdx, rax
mov qword [rsp + 0x70], rax
mov rcx, r12
call fcn.1401bea20
test eax, eax
js 0x1402fa6ed
xor r8d, r8d
lea rdx, [0x140400661]
mov rcx, rsi
call fcn.1401ba790
mov rbx, rax
test rax, rax
je 0x1402fab28
mov r12, qword [rsp + 0xf8]
lea r9, [r15 + r15]
mov qword [rsp + 0x30], r12
mov r8, rbp
mov qword [rsp + 0x28], rdi
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x20], rdi
call fcn.1402f9790
test eax, eax
jne 0x1402fa85e
lea r9, [0x140400661]
mov dword [rsp + 0x20], edi
lea edx, [rax + 0x67]
lea ecx, [rax + 0x35]
lea r8d, [rax + 6]
call fcn.1401d8bf0
mov rbp, qword [rsp + 0x40]
jmp 0x1402fab74
mov rdx, rdi
test rsi, rsi
je 0x1402fa971
cmp rsi, 8
jb 0x1402fa944
lea rcx, [rsi - 1]
lea rax, [r13 - 1]
add rcx, rbx
add rax, rsi
cmp rbx, rax
ja 0x1402fa890
cmp rcx, r13
jae 0x1402fa944
cmp rsi, 0x40
jb 0x1402fa90e
mov r8, rsi
mov r9, rsi
and r8d, 0x3f
sub r9, r8
mov rcx, r13
lea rax, [rbx + 0x10]
sub rcx, rbx
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x10]
add rdx, 0x40
movdqu xmm1, xmmword [rcx + rax - 0x10]
movdqu xmm2, xmmword [rax + rcx]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rcx + rax - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rcx + rax - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rdx, r9
jne 0x1402fa8b0
cmp r8, 8
jb 0x1402fa93f
mov rcx, rsi
and rcx, 0xfffffffffffffff8
mov r8, r13
lea rax, [rdx + rbx]
sub r8, rbx
nop
movq xmm0, qword [rax]
add rdx, 8
movq xmm1, qword [r8 + rax]
lea rax, [rax + 8]
xorps xmm1, xmm0
movq qword [rax - 8], xmm1
cmp rdx, rcx
jne 0x1402fa920
cmp rdx, rsi
je 0x1402fa971
mov r9, r13
lea rcx, [rdx + rbx]
sub r9, rbx
mov r8, rsi
sub r8, rdx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x1402fa960
mov rbp, qword [rsp + 0x68]
mov rdx, r12
mov rcx, rbp
call fcn.1401c3260
test eax, eax
je 0x1402faae2
mov rdx, qword [rsp + 0x50]
mov r8, r15
mov rcx, rbp
call fcn.1401c30b0
test eax, eax
je 0x1402faae2
mov rdx, r13
mov r8, rsi
mov rcx, rbp
mov r13, rbp
call fcn.1401c30b0
test eax, eax
je 0x1402faae2
mov rdx, qword [rsp + 0x70]
mov r8, r15
mov rcx, rbp
call fcn.1401c30b0
mov rbp, qword [rsp + 0x40]
test eax, eax
je 0x1402faae7
xor r8d, r8d
mov rdx, rbp
mov rcx, r13
call fcn.1401c3290
test eax, eax
je 0x1402faae7
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x98], rax
call fcn.14023ece0
mov qword [rsp + 0xa0], rax
call fcn.14023ece0
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
test rcx, rcx
je 0x1402faac1
test rax, rax
je 0x1402faac1
mov r8d, dword [rsp + 0x48]
mov rdx, rbp
call fcn.140261180
test eax, eax
je 0x1402faaa0
mov rcx, qword [rsp + 0xa8]
mov r8d, esi
mov rdx, rbx
call fcn.140261180
test eax, eax
je 0x1402faaa0
lea r8, [0x1403d7d20]
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x90]
call fcn.1402440a0
test eax, eax
js 0x1402faaa0
mov rcx, qword [rsp + 0x118]
mov edi, 1
cdqe
mov qword [rcx], rax
jmp 0x1402fab74
mov edx, 0x67
mov dword [rsp + 0x20], edi
lea r9, [0x140400661]
lea ecx, [rdx - 0x32]
lea r8d, [rdx - 0x23]
call fcn.1401d8bf0
jmp 0x1402fab74
mov edx, 0x67
mov dword [rsp + 0x20], edi
lea r9, [0x140400661]
lea ecx, [rdx - 0x32]
lea r8d, [rdx - 0x26]
call fcn.1401d8bf0
jmp 0x1402fab74
mov rbp, qword [rsp + 0x40]
mov edx, 0x67
mov dword [rsp + 0x20], edi
lea r9, [0x140400661]
lea ecx, [rdx - 0x32]
lea r8d, [rdx - 0x61]
call fcn.1401d8bf0
jmp 0x1402fab74
mov edx, 0x67
mov dword [rsp + 0x20], edi
lea r9, [0x140400661]
lea ecx, [rdx - 0x32]
lea r8d, [rdx - 0x57]
call fcn.1401d8bf0
mov rbp, qword [rsp + 0x40]
jmp 0x1402fab74
mov edx, 0x67
mov dword [rsp + 0x20], edi
lea r9, [0x140400661]
lea ecx, [rdx - 0x32]
lea r8d, [rdx - 0x26]
call fcn.1401d8bf0
mov rbp, qword [rsp + 0x40]
jmp 0x1402fab74
mov r8d, 0x41
jmp 0x1402fab59
mov r8d, 0x44
mov edx, 0x67
mov dword [rsp + 0x20], edi
lea r9, [0x140400661]
lea ecx, [rdx - 0x32]
call fcn.1401d8bf0
mov rbp, rbx
mov rcx, qword [rsp + 0xa8]
call fcn.14023ec60
mov rcx, qword [rsp + 0xa0]
call fcn.14023ec60
xor r8d, r8d
lea rdx, [0x140400661]
mov rcx, rbx
call fcn.1401ba680
mov rcx, qword [rsp + 0x50]
lea rdx, [0x140400661]
xor r8d, r8d
call fcn.1401ba680
xor r8d, r8d
lea rdx, [0x140400661]
mov rcx, rbp
call fcn.1401ba680
mov rcx, qword [rsp + 0x68]
call fcn.1401c2c30
mov rcx, r14
call fcn.14024fe50
mov rcx, qword [rsp + 0x58]
call fcn.14025fc10
mov rcx, qword [rsp + 0x60]
call fcn.14025fc10
lea r11, [rsp + 0xc0]
mov eax, edi
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret