Function at 0x140005094
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x9a0]
sub rsp, 0xaa0
mov rax, qword [0x140017008]
xor rax, rsp
mov qword [rbp + 0x990], rax
mov r15, qword [rbp + 0xa00]
lea rbx, [rbp + 0x198]
xor eax, eax
mov qword [rsp + 0x68], r8
mov dword [rbp + 0x180], eax
mov r13b, r9b
mov byte [rbp + 0x184], al
mov r14, rdx
mov eax, dword [rcx + 0x250]
mov rdi, rcx
mov dword [rbp + 0x190], eax
mov dword [rbp + 0x194], 0x1a5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp + 0x198], eax
lea rdx, [rbp + 0x194]
lea rax, [rbp + 0x190]
mov rcx, rdi
sub ebx, eax
add ebx, 0xf
and ebx, 0xfffffff0
mov r8d, ebx
call fcn.1400028c8
add ebx, 4
lea rcx, [rbp + 0x590]
xor edx, edx
mov dword [rsp + 0x60], ebx
mov r8d, 0x400
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x180]
call fcn.14000244c
lea rcx, [0x14000e930]
mov eax, 0x80
movups xmm0, xmmword [rcx]
lea rdx, [rsp + 0x70]
movups xmm1, xmmword [rcx + 0x10]
lea r9, [rsp + 0x70]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x50], xmm1
movups xmmword [rdx + 0x60], xmm0
add rdx, rax
movups xmm0, xmmword [rcx + 0x70]
add rcx, rax
xor r8d, r8d
movups xmmword [rdx - 0x10], xmm0
movups xmm1, xmmword [rcx]
mov rax, qword [rcx + 0x60]
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm1
movups xmm1, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm0
movups xmm0, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x20], xmm1
movups xmm1, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x30], xmm0
movups xmm0, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x40], xmm1
movups xmmword [rdx + 0x50], xmm0
mov qword [rdx + 0x60], rax
mov al, byte [rcx + 0x68]
mov byte [rdx + 0x68], al
mov eax, 0x3521cfb3
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x35
mov al, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9], al
inc r9
cmp r8d, 0xe9
jl 0x1400051ed
mov r9, qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [0x14000e8cb]
mov dword [rsp + 0x30], ebx
lea rax, [rdi + 0x142]
mov qword [rsp + 0x28], rcx
lea r8, [rbp + 0x180]
lea rcx, [rbp + 0x590]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_wsprintfA]
movzx r12d, word [rdi + 0x2b58]
lea rax, [rdi + 0x2b5a]
mov r9d, dword [rdi + 0x2a54]
lea rcx, [rdi + 0x2d58]
movzx r8d, word [rdi + 0x140]
lea r10, [rdi + 0x2c59]
mov dword [rsp + 0x48], 0x13880
lea r11, [rdi + 0x2a58]
mov qword [rsp + 0x40], rax
lea rdx, [rdi + 0x41]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r10
mov word [rsp + 0x28], r12w
mov qword [rsp + 0x20], r11
test r13b, r13b
je 0x140005351
mov rcx, r15
call fcn.140009380
test al, al
je 0x14000532d
lea rcx, [rbp + 0x590]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea rdx, [rbp + 0x590]
mov rcx, r15
mov r8d, eax
call fcn.1400094fc
test al, al
je 0x14000532d
mov r8d, ebx
lea rdx, [rbp + 0x190]
mov rcx, r15
call fcn.1400094fc
test al, al
je 0x14000532d
lea r9, [rsp + 0x60]
mov dword [rsp + 0x20], 0x13880
mov r8d, 0x400
lea rdx, [rbp + 0x190]
mov rcx, r15
call fcn.140009a58
test al, al
jne 0x1400053c2
xor al, al
mov rcx, qword [rbp + 0x990]
xor rcx, rsp
call fcn.14000c390
add rsp, 0xaa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
mov rcx, r14
call fcn.14000af80
test eax, eax
je 0x14000532d
lea rcx, [rbp + 0x590]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov rcx, qword [r14]
lea rdx, [rbp + 0x590]
mov r8d, eax
call fcn.14000a018
test eax, eax
je 0x14000532d
mov rcx, qword [r14]
lea rdx, [rbp + 0x190]
mov r8d, ebx
call fcn.14000a018
test eax, eax
je 0x14000532d
mov rdx, qword [r14]
lea rax, [rsp + 0x60]
mov dword [rsp + 0x28], 0x13880
lea r8, [rbp + 0x190]
mov r9d, 0x400
mov qword [rsp + 0x20], rax
call fcn.14000250c
jmp 0x140005325
mov edx, dword [rsp + 0x60]
lea r8, [rbp + 0x60]
lea rcx, [rbp + 0x190]
call fcn.140001cd4
test al, al
je 0x14000532d
cmp byte [rbp + 0x16d], 0
jne 0x14000532d
mov rbx, qword [rbp + 0x170]
test rbx, rbx
jle 0x14000532d
movsxd r12, ebx
cmp r12, 0x400
ja 0x14000532d
lea rdx, [rbp + 0x190]
mov r9d, 0x13880
mov r8d, ebx
test r13b, r13b
je 0x140005431
mov rcx, r15
call fcn.140009604
test al, al
jne 0x140005441
jmp 0x14000532d
mov rcx, qword [r14]
call fcn.140009f6c
test eax, eax
je 0x14000532d
mov r8d, ebx
lea rdx, [rbp + 0x190]
mov rcx, rdi
call fcn.14000293c
test al, al
je 0x14000532d
cmp r12, 4
jb 0x14000532d
cmp dword [rbp + 0x190], 0x1a6
jne 0x14000532d
lea ecx, [rbx - 4]
cmp ecx, 4
jb 0x14000532d
mov rdx, qword [rsp + 0x68]
mov al, 1
mov ecx, dword [rbp + 0x194]
mov dword [rdx], ecx
jmp 0x14000532f