Function at 0x10005400
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x40
test byte [0x1000f05c], 8
jne 0x10005580
mov eax, dword [0x1000f140]
lea ebx, [ebp - 0x16]
lea edi, [ebp - 0x1c]
lea esi, [eax - 0xc]
cmp eax, 0x1000f140
je 0x10005488
mov eax, ebx
mov ebx, esi
mov esi, eax
jmp 0x10005445
mov eax, dword [ebx + 0xc]
lea ebx, [eax - 0xc]
cmp eax, 0x1000f140
je 0x10005488
mov eax, dword [ebx]
mov ecx, dword [ebp + 8]
mov dword [esp + 8], 4
mov dword [esp + 4], esi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x16], eax
mov dword [esp], edi
call dword [sym.imp.ucrtbase.dll__strnicmp]
test eax, eax
jne 0x10005438
mov edx, dword [ebx + 4]
mov eax, dword [ebp + 0xc]
call sym._compare_fourcc
test eax, eax
jne 0x10005438
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
cmp dword [ebp + 0x18], 1
je 0x100056e0
cmp dword [ebp + 0x18], 2
je 0x100054d0
test byte [0x1000f05c], 1
je 0x10005478
mov eax, dword [ebp + 0x18]
mov dword [esp + 0xc], str.Unhandled_flags__x._n
mov dword [esp + 8], str.ICInstall
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x1000f05c
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_2
jmp 0x10005478
lea eax, [ebp - 0x1c]
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareMicrosoftWindows_NTCurrentVersionDrivers32
mov dword [esp], 0x80000002
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
mov edx, eax
sub esp, 0x14
xor eax, eax
test edx, edx
jne 0x1000547a
mov eax, dword [ebp + 8]
mov byte [ebp - 0x12], 0x2e
mov byte [ebp - 0xd], 0
mov dword [ebp - 0x16], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x11], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strlen]
mov dword [esp + 0xc], 1
inc eax
mov dword [esp + 8], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x16]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegSetValueExA]
mov ebx, eax
mov eax, dword [ebp - 0x1c]
sub esp, 0x18
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
xor eax, eax
sub esp, 4
test ebx, ebx
sete al
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
mov eax, dword [ebp + 0x14]
mov edx, 0xffffffff
call sym._wine_dbgstr_an_1
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0xc]
shr edx, 8
mov dword [ebp - 0x16], esi
mov esi, 0x10012dd3
shr eax, 0x18
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
shr edi, 0x10
test eax, eax
je 0x10005605
movsx eax, byte [ebp + 0xc]
mov ebx, dword [sym.imp.ucrtbase.dll_isprint]
mov dword [esp], eax
call ebx
test eax, eax
je 0x100055f0
mov edx, dword [ebp - 0x24]
movsx edx, dl
mov dword [esp], edx
call ebx
test eax, eax
je 0x100055f0
mov eax, edi
movsx edi, al
mov dword [esp], edi
call ebx
test eax, eax
jne 0x10005738
nop
mov eax, dword [ebp + 0xc]
mov dword [esp], str.0x_08x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_1
mov esi, eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 8]
shr edx, 8
shr eax, 0x18
mov dword [ebp - 0x24], edx
mov edx, dword [ebp + 8]
shr edi, 0x10
mov dword [ebp - 0x28], eax
mov eax, 0x10012dd3
mov dword [ebp - 0x16], edx
test edx, edx
je 0x10005693
movsx eax, byte [ebp + 8]
mov ebx, dword [sym.imp.ucrtbase.dll_isprint]
mov dword [esp], eax
call ebx
test eax, eax
je 0x10005680
mov edx, dword [ebp - 0x24]
movsx edx, dl
mov dword [esp], edx
call ebx
test eax, eax
je 0x10005680
mov eax, edi
movsx edi, al
mov dword [esp], edi
call ebx
test eax, eax
je 0x10005680
movsx eax, byte [ebp - 0x28]
mov dword [esp], eax
call ebx
test eax, eax
je 0x10005680
lea ebx, [ebp - 0x16]
mov dword [esp], str._.4s
mov dword [esp + 4], ebx
call sym._wine_dbg_sprintf_1
jmp 0x10005693
mov eax, dword [ebp + 8]
mov dword [esp], str.0x_08x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_1
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edi
mov edi, dword [ebp - 0x20]
mov dword [esp + 0xc], str.type__s__handler__s__lparam__Ix__desc__s__flags__x._n
mov dword [esp + 0x1c], edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 8], str.ICInstall
mov dword [esp + 0x18], edi
mov dword [esp + 4], 0x1000f05c
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x10005416
mov dword [esp + 4], 0x14
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll_calloc]
test eax, eax
je 0x10005478
mov esi, dword [ebp + 8]
mov ecx, dword [0x1000f144]
lea edx, [eax + 0xc]
mov dword [eax + 0xc], 0x1000f140
mov dword [eax], esi
mov esi, dword [ebp + 0xc]
mov dword [eax + 0x10], ecx
mov dword [eax + 4], esi
mov esi, dword [ebp + 0x10]
mov dword [eax + 8], esi
mov eax, 1
mov dword [ecx], edx
mov dword [0x1000f144], edx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
movsx eax, byte [ebp - 0x28]
mov dword [esp], eax
call ebx
test eax, eax
je 0x100055f0
lea ebx, [ebp - 0x16]
mov dword [esp], str._.4s
mov dword [esp + 4], ebx
call sym._wine_dbg_sprintf_1
mov esi, eax
jmp 0x10005605