Function at 0x14001260c
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
mov qword [rsp + 0x60], r8
mov r14, qword [rsp + 0x278]
mov r13, qword [rsp + 0x270]
mov r15, qword [rsp + 0x268]
mov eax, dword [rsp + 0x250]
mov dword [rsp + 0xe0], edx
mov qword [rsp + 0xe8], rcx
mov dword [rsp + 0xd0], eax
mov qword [rsp + 0xd8], r9
test r14, r14
je 0x140012756
mov ebx, dword [rsp + 0x280]
test ebx, ebx
je 0x140012756
mov qword [rsp + 0x58], r9
call fcn.14001183e
test rax, rax
je 0x1400127fd
mov rbp, rax
mov rsi, qword [rsp + 0x288]
mov eax, dword [rax + 0x5c]
mov dword [rsp + 0x68], eax
mov edx, eax
shr edx, 3
mov eax, dword [rbp + 0x3c]
mov ecx, eax
shr ecx, 3
cmp eax, 0xc0
mov eax, 0x18
cmovae eax, ecx
cmp dword [rbp + 0x38], 0x6603
cmovne eax, ecx
mov dword [rsp + 0x6c], eax
xor r12d, r12d
test rsi, rsi
mov qword [rsp + 0x50], rdx
je 0x140012805
mov r15d, dword [rbp + 0x58]
cmp r15d, 0x800e
mov edi, 0x14
cmove edi, edx
mov ecx, 0x40
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
je 0x140012c03
mov r13, rax
mov qword [rsp + 0x40], rbp
cmp r15d, 0x800e
mov ebp, 0x8004
cmove ebp, r15d
mov rcx, rsi
call fcn.140200bb4
lea r8d, [rax + rax]
mov r15, rdi
mov dword [rsp + 0x20], edi
mov ecx, ebp
mov rdx, rsi
mov r9, r13
call fcn.1400070cc
test eax, eax
je 0x140012c13
mov rbp, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rdi, r15
mov r15, r13
jmp 0x140012808
mov esi, dword [rsp + 0x260]
mov rdi, qword [rsp + 0x258]
lea rcx, [0x1402b7c60]
lea rdx, [0x1402ba960]
call fcn.1400f5160
lea rcx, [rsp + 0x130]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
xor r12d, r12d
lea rcx, [rsp + 0xe0]
lea r8, [rsp + 0xd0]
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
call rax
test eax, eax
je 0x140012e8f
mov esi, eax
mov edx, dword [rsp + 0x130]
mov dword [r13], edx
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov qword [r15], rax
test rax, rax
je 0x1400127e7
mov rdx, qword [rsp + 0x138]
mov r8d, dword [r13]
mov rcx, rax
call fcn.140201ae0
mov rcx, qword [rsp + 0x138]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r12d, esi
jmp 0x140012e8f
xor r12d, r12d
jmp 0x140012e8f
xor r15d, r15d
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
je 0x140012e35
mov r13, rax
mov eax, dword [rbp + 0x58]
mov dword [rsp + 0x48], eax
xor eax, eax
test r15, r15
cmove edi, eax
mov esi, dword [rbp + 0x40]
mov rax, qword [rbp + 0x44]
mov qword [rsp + 0x70], rax
mov r12, r14
cmp ebx, 0x14
mov qword [rsp + 0x40], r13
je 0x140012872
mov dword [rsp + 0x20], 0x14
lea r12, [rsp + 0x1d0]
mov ecx, 0x8004
mov rdx, r14
mov r8d, ebx
mov r9, r12
call fcn.1400070cc
test eax, eax
je 0x140012c0b
cmp dword [rsp + 0x48], 0x8004
jne 0x140012a81
mov rax, qword [rsp + 0x58]
or rax, r15
je 0x140012a81
movaps xmm0, xmmword [str.6666666666666666_]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x160], xmm0
movaps xmm0, xmmword [0x14021a260]
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov eax, ebx
xor ecx, ecx
mov dl, byte [r14 + rcx]
xor byte [rsp + rcx + 0x130], dl
xor byte [rsp + rcx + 0x80], dl
inc rcx
cmp rax, rcx
jne 0x1400128e0
mov r14, rsi
add rsi, 0x40
mov ecx, 0x40
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
mov r12d, dword [rsp + 0x250]
je 0x140012c30
mov rbx, rax
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movaps xmm3, xmmword [rsp + 0x160]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rcx, rax
add rcx, 0x40
mov rdx, qword [rsp + 0x70]
mov r8, r14
call fcn.140201ae0
mov dword [rsp + 0x20], 0x14
lea r9, [rsp + 0xf0]
mov ecx, 0x8004
mov rdx, rbx
mov r8d, esi
call fcn.1400070cc
xor r14d, r14d
test eax, eax
je 0x140012b2f
mov ecx, r12d
mov eax, edi
mov qword [rsp + 0x48], rax
mov rsi, rcx
lea r13, [rcx + rax]
add r13, 0x54
mov ecx, 0x40
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
mov r9, qword [rsp + 0x40]
je 0x140012b2f
mov r12, rax
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmm2, xmmword [rsp + 0xa0]
movaps xmm3, xmmword [rsp + 0xb0]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rax + 0x40], xmm0
mov eax, dword [rsp + 0x100]
mov dword [r12 + 0x50], eax
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x140012a34
mov eax, dword [rsp + 0x250]
test eax, eax
je 0x140012a34
lea rcx, [r12 + 0x54]
mov r8, rsi
mov r14, r9
call fcn.140201ae0
mov r9, r14
test r15, r15
je 0x140012a58
test edi, edi
je 0x140012a58
lea rcx, [r12 + rsi]
add rcx, 0x54
mov rdx, r15
mov r8, qword [rsp + 0x48]
mov rsi, r9
call fcn.140201ae0
mov r9, rsi
mov dword [rsp + 0x20], 0x14
mov ecx, 0x8004
mov rdx, r12
mov r8d, r13d
call fcn.1400070cc
mov r14d, eax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x140012b2f
mov eax, dword [rsp + 0x250]
lea r14d, [rax + rdi]
add r14d, esi
mov ecx, 0x40
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
je 0x140012c0b
mov rbx, rax
mov rcx, rax
mov rdx, qword [rsp + 0x70]
mov r13, rsi
mov r8, rsi
call fcn.140201ae0
mov eax, dword [rsp + 0x250]
mov esi, eax
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x140012adf
test eax, eax
je 0x140012adf
lea rcx, [rbx + r13]
mov r8, rsi
call fcn.140201ae0
test r15, r15
je 0x140012aff
test edi, edi
je 0x140012aff
mov rax, rbx
add rax, r13
add rsi, rax
mov r8d, edi
mov rcx, rsi
mov rdx, r15
call fcn.140201ae0
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov ecx, dword [rsp + 0x48]
mov rdx, r12
mov r8d, 0x14
mov r9, rbx
call fcn.1400075f1
mov r14d, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor r12d, r12d
test r14d, r14d
je 0x140012e2a
mov r14d, dword [rsp + 0x6c]
mov esi, r14d
mov ecx, 0x40
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
test rax, rax
je 0x140012e2a
mov rbx, rax
mov r8, qword [rsp + 0x50]
cmp r8d, r14d
jae 0x140012c23
mov r12d, dword [rbp + 0x58]
movaps xmm0, xmmword [str.6666666666666666_]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [0x14021a260]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x120], xmm0
cmp dword [rsp + 0x68], 8
jae 0x140012c38
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x80]
lea r9, [rsp + 0x130]
mov ecx, r12d
mov rsi, r8
mov r8d, 0x40
call fcn.1400070cc
test eax, eax
jne 0x140012c86
jmp 0x140012e10
xor r12d, r12d
jmp 0x140012e87
xor r12d, r12d
jmp 0x140012e2a
xor r12d, r12d
mov rbp, qword [rsp + 0x40]
mov r15, r13
jmp 0x140012e3a
mov rcx, rbx
mov rdx, qword [rsp + 0x40]
jmp 0x140012cc7
xor r14d, r14d
jmp 0x140012b38
xor eax, eax
mov rdx, qword [rsp + 0x40]
mov cl, byte [rdx + rax]
xor byte [rsp + rax + 0x80], cl
xor byte [rsp + rax + 0xf0], cl
inc rax
cmp r8, rax
jne 0x140012c3f
mov dword [rsp + 0x20], r8d
lea rdx, [rsp + 0x80]
lea r9, [rsp + 0x130]
mov ecx, r12d
mov rsi, r8
mov r8d, 0x40
call fcn.1400070cc
test eax, eax
je 0x140012e15
lea r9, [rsp + rsi]
add r9, 0x130
mov dword [rsp + 0x20], esi
lea rdx, [rsp + 0xf0]
mov ecx, r12d
mov r8d, 0x40
call fcn.1400070cc
test eax, eax
je 0x140012e10
add esi, esi
cmp esi, r14d
cmovae esi, r14d
lea rdx, [rsp + 0x130]
mov rcx, rbx
mov r8, rsi
call fcn.140201ae0
mov ecx, dword [rbp + 0x38]
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
xor r12d, r12d
mov rdx, rbx
mov r8d, r14d
xor r9d, r9d
call fcn.140007944
test eax, eax
je 0x140012de8
mov edx, dword [rbp + 0x6c]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, qword [rsp + 0x268]
mov qword [rdi], rax
test rax, rax
je 0x140012dae
mov rdx, qword [rbp + 0x70]
mov r8d, dword [rbp + 0x6c]
mov rcx, rax
call fcn.140201ae0
mov eax, dword [rbp + 0x6c]
mov r12, qword [rsp + 0x270]
mov dword [r12], eax
mov r14, qword [rdi]
mov rsi, qword [rsp + 0x78]
lea rcx, [0x1402b7de0]
lea rdx, [0x1402b8780]
call fcn.1400f5160
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
mov rcx, rsi
xor edx, edx
mov r8d, 1
xor r9d, r9d
call rax
mov r12d, eax
test eax, eax
jne 0x140012db1
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rdi], rax
lea rcx, [0x1402b7b20]
lea rdx, [0x1402b7cc0]
call fcn.1400f5160
call rax
lea rcx, str.VFp_
mov edx, eax
call fcn.14000123b
xor r12d, r12d
mov rsi, qword [rsp + 0x78]
lea rcx, [0x1402b7de0]
lea rdx, [0x1402b7f00]
call fcn.1400f5160
mov rcx, rsi
call rax
mov rcx, qword [rsp + 0xc8]
call fcn.140007da5
test eax, eax
jne 0x140012e21
lea rsi, [0x14029e420]
jmp 0x140012def
lea rsi, [0x14029e4c0]
lea rcx, [0x1402b7b20]
lea rdx, [0x1402b7cc0]
call fcn.1400f5160
call rax
mov rcx, rsi
mov edx, eax
call fcn.14000123b
jmp 0x140012e21
xor r12d, r12d
jmp 0x140012e21
xor r12d, r12d
cmp esi, r14d
jae 0x140012ccf
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
test r15, r15
je 0x140012e43
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp qword [rsp + 0x60], 0
je 0x140012e87
test r12d, r12d
je 0x140012e87
cmp qword [rbp + 0x30], 0
je 0x140012e87
mov edx, dword [rbp + 0x2c]
test rdx, rdx
je 0x140012e87
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
test rax, rax
je 0x140012e87
mov rdx, qword [rbp + 0x30]
mov r8d, dword [rbp + 0x2c]
mov rcx, rax
call fcn.140201ae0
mov rcx, rbp
call fcn.140012450
mov eax, r12d
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret