Function at 0x1402037b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa10]
sub rsp, 0xb10
mov rsi, qword [r9 + 8]
mov r14, r9
mov rbx, qword [r9]
movzx r15d, r8b
mov r12, rdx
mov rdi, rcx
cmp rbx, rsi
je 0x140203804
nop dword [rax]
mov rcx, rbx
call fcn.14013ed68
add rbx, 0x20
cmp rbx, rsi
jne 0x1402037f0
mov rbx, qword [r14]
xor edx, edx
mov qword [r14 + 8], rbx
mov r8d, 0x208
lea rcx, [rbp - 0x80]
call fcn.1403ccc50
lea rcx, [rbp - 0x80]
sub rcx, rdi
movzx eax, word [rdi]
mov word [rcx + rdi], ax
lea rdi, [rdi + 2]
test ax, ax
jne 0x140203820
mov rbx, qword [r12]
xor r13d, r13d
mov rax, qword [r12 + 8]
mov edi, r13d
sub rax, rbx
mov qword [rsp + 0x30], r13
sar rax, 5
test rax, rax
je 0x140203d39
mov esi, r13d
nop word [rax + rax]
xor edx, edx
lea rcx, [rbp + 0x800]
mov r8d, 0x208
call fcn.1403ccc50
cmp qword [rbx + rsi + 0x18], 8
lea rcx, [rbx + rsi]
jb 0x140203883
mov rcx, qword [rcx]
lea rdx, [rbp + 0x800]
sub rdx, rcx
nop dword [rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140203890
xor edx, edx
lea rcx, [rbp + 0x3e0]
mov r8d, 0x208
call fcn.1403ccc50
mov rcx, r13
nop word [rax + rax]
movzx eax, word [rbp + rcx - 0x80]
mov word [rbp + rcx + 0x3e0], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1402038c0
lea rcx, [rbp - 0x80]
mov rax, 0xffffffffffffffff
cmp word [rcx + rax*2 + 2], r13w
lea rax, [rax + 1]
jne 0x1402038e1
cmp word [rsp + rax*2 + 0x7e], 0x5c
mov ecx, r13d
jne 0x140203967
mov dword [rbp + 0xa50], 0x2a
nop dword [rax]
nop word [rax + rax]
movsxd rax, ecx
xor word [rbp + rax*2 + 0xa50], cx
inc ecx
cmp ecx, 1
jb 0x140203910
lea rcx, [rbp + 0x3e0]
mov word [rbp + 0xa52], r13w
sub rcx, 2
cmp word [rcx + 2], r13w
lea rcx, [rcx + 2]
jne 0x140203935
lea r8, [rbp + 0xa50]
xor edx, edx
nop dword [rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x140203950
jmp 0x140203a32
xor eax, eax
mov dword [rsp + 0x24], 0x2b005c
mov word [rsp + 0x28], ax
nop word [rax + rax]
movsxd rax, ecx
xor word [rsp + rax*2 + 0x24], cx
inc ecx
cmp ecx, 2
jb 0x140203980
lea rcx, [rbp + 0x3e0]
mov word [rsp + 0x28], r13w
sub rcx, 2
cmp word [rcx + 2], r13w
lea rcx, [rcx + 2]
jne 0x1402039a0
lea r8, [rsp + 0x24]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1402039c0
mov dword [rbp + 0xa68], 0x5c
mov ecx, r13d
nop
movsxd rax, ecx
xor word [rbp + rax*2 + 0xa68], cx
inc ecx
cmp ecx, 1
jb 0x1402039e0
lea rcx, [rbp - 0x80]
mov word [rbp + 0xa6a], r13w
sub rcx, 2
cmp word [rcx + 2], r13w
lea rcx, [rcx + 2]
jne 0x140203a02
lea r8, [rbp + 0xa68]
xor edx, edx
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x140203a20
mov rax, qword [0x140549290]
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x3e0]
call rax
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140203d14
nop word [rax + rax]
mov dword [rsp + 0x20], 0x2e
mov edx, r13d
nop dword [rax + rax]
movsxd rcx, edx
xor word [rsp + rcx*2 + 0x20], dx
inc edx
cmp edx, 1
jb 0x140203a70
lea rax, [rbp + 0x1bc]
mov word [rsp + 0x22], r13w
lea r8, [rsp + 0x20]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140203aa8
add rax, 2
test ecx, ecx
jne 0x140203a94
test edx, edx
je 0x140203ce4
xor eax, eax
mov dword [rsp + 0x2a], 0x2f002e
mov word [rsp + 0x2e], ax
mov ecx, r13d
nop dword [rax]
nop word [rax + rax]
movsxd rax, ecx
xor word [rsp + rax*2 + 0x2a], cx
inc ecx
cmp ecx, 2
jb 0x140203ad0
lea rax, [rbp + 0x1bc]
mov word [rsp + 0x2e], r13w
lea r8, [rsp + 0x2a]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140203b08
add rax, 2
test ecx, ecx
jne 0x140203af4
test edx, edx
je 0x140203ce4
xor edx, edx
lea rcx, [rbp + 0x5f0]
mov r8d, 0x208
call fcn.1403ccc50
mov rcx, r13
nop word [rax + rax]
movzx eax, word [rbp + rcx - 0x80]
mov word [rbp + rcx + 0x5f0], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140203b30
lea rax, [rbp + 0x5f0]
sub rax, 2
cmp word [rax + 2], r13w
lea rax, [rax + 2]
jne 0x140203b51
lea r8, [rbp + 0x1bc]
xor edx, edx
nop word [rax + rax]
movzx ecx, word [r8 + rdx*2]
mov word [rax + rdx*2], cx
lea rdx, [rdx + 1]
test cx, cx
jne 0x140203b70
test byte [rbp + 0x190], 0x10
jne 0x140203ce4
test r15b, r15b
je 0x140203c50
lea rax, [rbp + 0x1bc]
lea r8, [rbp + 0x800]
sub r8, rax
nop dword [rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140203bc4
add rax, 2
test ecx, ecx
jne 0x140203bb0
test edx, edx
jne 0x140203ce4
lea rdx, [rbp + 0x5f0]
mov qword [rsp + 0x38], r13
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 7
call fcn.14013edcc
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x140203c39
mov qword [rdx], r13
lea rcx, [rsp + 0x38]
mov qword [rdx + 0x10], r13
mov qword [rdx + 0x18], r13
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rdx + 0x10], xmm1
add qword [r14 + 8], 0x20
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r13w
jmp 0x140203cdf
lea r8, [rsp + 0x38]
mov rcx, r14
call fcn.14019f344
lea rcx, [rsp + 0x38]
jmp 0x140203cdf
lea rdx, [rbp + 0x800]
lea rcx, [rbp + 0x1bc]
call fcn.1403cbeb0
test rax, rax
je 0x140203ce4
lea rdx, [rbp + 0x5f0]
mov qword [rsp + 0x58], r13
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], 7
call fcn.14013edcc
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x140203ccd
mov qword [rdx], r13
mov qword [rdx + 0x10], r13
mov qword [rdx + 0x18], r13
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rdx + 0x10], xmm1
add qword [r14 + 8], 0x20
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r13w
jmp 0x140203cda
lea r8, [rsp + 0x58]
mov rcx, r14
call fcn.14019f344
lea rcx, [rsp + 0x58]
call fcn.14013ed68
mov rax, qword [0x1405492a0]
lea rdx, [rbp + 0x190]
mov rcx, rbx
call rax
test eax, eax
jne 0x140203a60
mov rcx, rbx
call qword [0x140549288]
mov rdi, qword [rsp + 0x30]
mov r12, qword [rbp + 0xa58]
mov rbx, qword [r12]
inc rdi
mov rax, qword [r12 + 8]
add rsi, 0x20
sub rax, rbx
mov qword [rsp + 0x30], rdi
sar rax, 5
cmp rdi, rax
jb 0x140203860
mov rbx, qword [rsp + 0xb60]
add rsp, 0xb10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret