Function at 0x100064b0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x158
mov eax, dword [0x1003f00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10041178]
mov ecx, dword [0x1003f8dc]
push esi
push edi
mov edi, dword [eax + 5]
mov eax, dword fs:[0x2c]
mov byte [ebp - 0x150], 0x4c
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10112108]
cmp eax, dword [esi + 4]
jle 0x1000654c
push 0x10112108
call fcn.10031abc
add esp, 4
cmp dword [0x10112108], 0xffffffff
jne 0x1000654c
movaps xmm0, xmmword [0x1003ba50]
mov al, byte [ebp - 0x150]
push 0x10033ab0
movups xmmword [0x1011209c], xmm0
mov byte [0x101120ac], al
call fcn.10031ee1
add esp, 4
push 0x10112108
call fcn.10031a72
add esp, 4
mov al, byte [0x101120ac]
test al, al
je 0x10006575
movups xmm0, xmmword [0x1011209c]
xor al, 0x4c
movaps xmm1, xmmword [0x1003be00]
pxor xmm1, xmm0
mov byte [0x101120ac], al
movups xmmword [0x1011209c], xmm1
lea eax, [edi + 0x121]
push eax
lea eax, [ebp - 0x108]
push 0x1011209c
push eax
call fcn.10004900
movss xmm1, dword [0x1003b4a8]
lea eax, [ebp - 0x108]
add esp, 8
movaps xmm2, xmm1
push eax
push ecx
mov ecx, dword [0x1010ce08]
mov ecx, dword [ecx + 0x3c]
call fcn.10005870
mov eax, dword [0x10041178]
movaps xmm0, xmmword [0x1003be80]
movups xmmword [ebp - 0x138], xmm0
mov edi, dword [eax + 5]
movaps xmm0, xmmword [0x1003bdf0]
mov eax, dword [0x101120e0]
movups xmmword [ebp - 0x128], xmm0
cmp eax, dword [esi + 4]
jle 0x10006628
push 0x101120e0
call fcn.10031abc
add esp, 4
cmp dword [0x101120e0], 0xffffffff
jne 0x10006628
push 0x20
lea eax, [ebp - 0x138]
push eax
push 0x101120b4
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x10033a90
call fcn.10031ee1
add esp, 4
push 0x101120e0
call fcn.10031a72
add esp, 4
cmp byte [0x101120d3], 0
je 0x10006660
movaps xmm2, xmmword [0x1003be00]
xor eax, eax
nop word [eax + eax]
movups xmm0, xmmword [eax + 0x101120b4]
movaps xmm1, xmm2
pxor xmm1, xmm0
movups xmmword [eax + 0x101120b4], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x10006640
nop dword [eax]
lea eax, [edi + 0x121]
push eax
lea eax, [ebp - 0x88]
push 0x101120b4
push eax
call fcn.10004900
movaps xmm0, xmmword [0x1003b7f0]
add esp, 0xc
mov eax, dword [0x10112134]
movups xmmword [ebp - 0x138], xmm0
mov word [ebp - 0x118], 0x3a29
movaps xmm0, xmmword [0x1003b670]
movups xmmword [ebp - 0x128], xmm0
mov byte [ebp - 0x116], 0x4c
cmp eax, dword [esi + 4]
jle 0x100066fa
push 0x10112134
call fcn.10031abc
add esp, 4
cmp dword [0x10112134], 0xffffffff
jne 0x100066fa
push 0x23
lea eax, [ebp - 0x138]
push eax
push 0x101120e4
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x10033a60
call fcn.10031ee1
add esp, 4
push 0x10112134
call fcn.10031a72
add esp, 4
cmp byte [0x10112106], 0
je 0x1000673f
movaps xmm2, xmmword [0x1003be00]
xor eax, eax
nop dword [eax]
movups xmm0, xmmword [eax + 0x101120e4]
movaps xmm1, xmm2
pxor xmm1, xmm0
movups xmmword [eax + 0x101120e4], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x10006710
cmp eax, 0x23
jae 0x1000673f
xor byte [eax + 0x101120e4], 0x4c
inc eax
cmp eax, 0x23
jb 0x10006732
push 0x23
lea eax, [ebp - 0x88]
push 0x101120e4
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x10006829
movaps xmm0, xmmword [0x1003b7f0]
mov eax, dword [0x10112130]
movups xmmword [ebp - 0x138], xmm0
mov word [ebp - 0x118], 0x3a29
movaps xmm0, xmmword [0x1003b670]
movups xmmword [ebp - 0x128], xmm0
mov byte [ebp - 0x116], 0x4c
cmp eax, dword [esi + 4]
jle 0x100067dd
push 0x10112130
call fcn.10031abc
add esp, 4
cmp dword [0x10112130], 0xffffffff
jne 0x100067dd
push 0x23
lea eax, [ebp - 0x138]
push eax
push 0x1011210c
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x10033a30
call fcn.10031ee1
add esp, 4
push 0x10112130
call fcn.10031a72
add esp, 4
cmp byte [0x1011212e], 0
je 0x1000681f
movaps xmm2, xmmword [0x1003be00]
xor eax, eax
nop
movups xmm0, xmmword [eax + 0x1011210c]
movaps xmm1, xmm2
pxor xmm1, xmm0
movups xmmword [eax + 0x1011210c], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100067f0
cmp eax, 0x23
jae 0x1000681f
xor byte [eax + 0x1011210c], 0x4c
inc eax
cmp eax, 0x23
jb 0x10006812
push 0x1011210c
jmp 0x100068c2
mov eax, dword [0x101120b0]
mov dword [ebp - 0x114], 0xd180901
mov dword [ebp - 0x110], 0x5000f6c
mov dword [ebp - 0x10c], 0x4c180209
cmp eax, dword [esi + 4]
jle 0x1000689f
push 0x101120b0
call fcn.10031abc
add esp, 4
cmp dword [0x101120b0], 0xffffffff
jne 0x1000689f
movq xmm0, qword [ebp - 0x114]
mov eax, dword [ebp - 0x10c]
push 0x10033a10
movq qword [0x101120d4], xmm0
mov dword [0x101120dc], eax
call fcn.10031ee1
add esp, 4
push 0x101120b0
call fcn.10031a72
add esp, 4
cmp byte [0x101120df], 0
je 0x100068bd
xor eax, eax
nop word [eax + eax]
xor byte [eax + 0x101120d4], 0x4c
inc eax
cmp eax, 0xc
jb 0x100068b0
push 0x101120d4
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
lea ecx, [ebp - 0x88]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10031912
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret