Function at 0x1012b850
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
push edi
sub esp, 0x18
mov ebx, ecx
mov esi, esp
mov dword [esp + 0x2c], ebx
vpxor xmm0, xmm0, xmm0
mov edi, edx
vmovdqu xmmword [esi], xmm0
mov dword [esi + 0x10], 7
mov dword [esi + 0x14], 0xf
mov eax, dword [str.Enabled]
mov dword [esi], eax
mov ax, word [0x101b4b18]
mov word [esi + 4], ax
movzx eax, byte [0x101b4b1a]
mov byte [esi + 6], al
mov byte [esi + 7], 0
call fcn.100156b0
mov esi, dword [ebp + 8]
mov edx, edi
push esi
mov ecx, eax
call fcn.10012f20
sub esp, 0x18
mov ecx, esp
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xc
mov dword [ecx + 0x14], 0xf
vmovq xmm0, qword [str.No_Title_Bar]
vmovq qword [ecx], xmm0
mov eax, dword [0x10203b04]
mov dword [ecx + 8], eax
mov byte [ecx + 0xc], 0
mov ecx, ebx
call fcn.100156b0
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 1]
mov ecx, eax
call fcn.10012f20
sub esp, 0x18
mov ecx, esp
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xd
mov dword [ecx + 0x14], 0xf
vmovq xmm0, qword [str.No_Background]
vmovq qword [ecx], xmm0
mov eax, dword [0x10203b14]
mov dword [ecx + 8], eax
movzx eax, byte [0x10203b18]
mov byte [ecx + 0xc], al
mov byte [ecx + 0xd], 0
mov ecx, ebx
call fcn.100156b0
lea ecx, [esi + 2]
push ecx
lea edx, [edi + 2]
mov ecx, eax
call fcn.10012f20
sub esp, 0x18
mov ecx, esp
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 5
mov dword [ecx + 0x14], 0xf
mov eax, dword [str.Flags]
mov dword [ecx], eax
movzx eax, byte [0x101b4bc4]
mov byte [ecx + 4], al
mov byte [ecx + 5], 0
mov ecx, ebx
call fcn.100156b0
mov edi, dword [edi + 0xc]
mov ebx, eax
cmp edi, dword [esi + 0xc]
je 0x1012b9d8
mov byte [esp + 0x18], 0
lea ecx, [esp + 0x20]
push dword [esp + 0x18]
vpxor xmm0, xmm0, xmm0
vmovq qword [esp + 0x24], xmm0
call fcn.1000f550
mov cl, byte [ebx]
mov eax, edi
mov byte [ebx], 5
mov esi, dword [ebx + 0xc]
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov byte [esp + 0x1c], cl
mov ecx, dword [ebx + 8]
cdq
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x24]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x28], esi
call fcn.1000f550
or ecx, 0xffffffff
mov esi, 0x1021c859
mov al, 0x49
or edi, 0xffffffff
cmp al, 0x23
jne 0x1012b9f3
cmp byte [esi], al
jne 0x1012b9f3
cmp byte [esi + 1], al
cmove ecx, edi
movzx edx, cl
movzx eax, al
xor edx, eax
shr ecx, 8
mov al, byte [esi]
inc esi
xor ecx, dword [edx*4 + 0x10221b00]
test al, al
jne 0x1012b9e5
not ecx
call fcn.10143c10
mov esi, eax
test esi, esi
je 0x1012ba9e
sub esp, 0x18
mov ecx, esp
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 3
mov dword [ecx + 0x14], 0xf
mov ax, word [0x10203b34]
mov word [ecx], ax
mov al, byte [0x10203b36]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov ecx, dword [esp + 0x2c]
call fcn.100156b0
lea ecx, [esi + 0xc]
mov edi, eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.100a3ab0
mov dl, byte [edi]
mov cl, byte [esp + 0x18]
mov eax, dword [esp + 0x20]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x14], dl
push dword [esp + 0x14]
mov byte [esp + 0x1c], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x24]
mov dword [edi + 8], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
call fcn.1000f550
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4