Function at 0x1012b5c0
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 edi, edx
mov esi, esp
mov dword [esp + 0x28], edi
vpxor xmm0, xmm0, xmm0
mov ebx, ecx
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
mov al, 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], 0xc
mov dword [ecx + 0x14], 0xf
vmovq xmm0, qword [str.Hide_In_Game]
vmovq qword [ecx], xmm0
mov eax, dword [0x1021d0ac]
mov dword [ecx + 8], eax
mov byte [ecx + 0xc], 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], 4
mov dword [ecx + 0x14], 0xf
mov eax, dword [str.Mode]
mov dword [ecx], eax
mov byte [ecx + 4], 0
mov ecx, ebx
call fcn.100156b0
mov edi, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 4]
je 0x1012b73f
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 [edi]
mov eax, dword [esp + 0x14]
mov byte [edi], 5
mov esi, dword [edi + 0xc]
mov byte [esp + 0x14], cl
push dword [esp + 0x14]
mov byte [esp + 0x1c], cl
mov ecx, dword [edi + 8]
cdq
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x24]
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
mov dword [esp + 0x28], esi
call fcn.1000f550
mov esi, dword [ebp + 8]
sub esp, 0x18
mov ecx, ebx
mov eax, esp
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 8
mov dword [eax + 0x14], 0xf
vmovq xmm0, qword [str.Show_Key]
vmovq qword [eax], xmm0
mov byte [eax + 8], 0
call fcn.100156b0
mov edx, dword [esp + 0x10]
lea ecx, [esi + 8]
push ecx
add edx, 8
mov ecx, eax
call fcn.10026930
or ecx, 0xffffffff
mov esi, 0x1021c4c5
mov al, 0x50
or edi, 0xffffffff
cmp al, 0x23
jne 0x1012b79e
cmp byte [esi], al
jne 0x1012b79e
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 0x1012b790
not ecx
call fcn.10143c10
mov esi, eax
test esi, esi
je 0x1012b843
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, ebx
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