Function at 0x10112c6
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x870
mov eax, dword [0x1049108]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov ebx, 0x208
cmp dword [ebp + 0xc], edi
jne 0x101e4a5
xor eax, eax
push 0x40e
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x834], ebx
mov dword [ebp - 0x82c], edi
mov dword [ebp - 0x830], edi
cmp dword [0x1049eac], edi
jne 0x101e55f
cmp dword [esi + 0x18], edi
je 0x10113a8
lea eax, [esi + 0x436]
mov dword [ebp - 0x828], eax
cmp eax, edi
je 0x1011397
mov ebx, dword [sym.imp.API_MS_Win_Core_LocalRegistry_L1_1_0.dll_RegSetValueExW]
lea eax, [esi + 0x436]
cmp eax, edi
je 0x101e5bb
push 0xffffffffffffffff
push dword [ebp - 0x828]
push 0xffffffffffffffff
push eax
push 1
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
jne 0x101e5bb
cmp dword [ebp - 0x82c], edi
jne 0x101e6af
cmp dword [esi + 0x18], edi
je 0x101e6af
mov ecx, dword [0x1049eac]
cmp ecx, edi
jne 0x101e6db
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100327d
leave
ret 8
cmp dword [esi + 0x1c], edi
jne 0x101e5b3
jmp 0x1011397
lea ecx, [ebp - 0x828]
push ecx
lea eax, [esi + 0x436]
push eax
push edi
push edi
push 0x10111c0
push dword [esi + 4]
mov dword [ebp - 0x828], 0x410
call dword [sym.imp.API_MS_Win_Core_LocalRegistry_L1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x101e4e6
cmp word [esi + 0x436], di
je 0x101e4e6
mov dword [esi + 0x18], 1
jmp 0x10112f1
mov dword [esi + 0x18], edi
cmp dword [esi + 0x1c], edi
jne 0x10112f1
lea ecx, [ebp - 0x82c]
push ecx
lea ecx, [ebp - 0x824]
push ecx
push edi
push edi
lea ecx, [ebp - 0x828]
push ecx
lea eax, [esi + 0x24]
push eax
push edi
push dword [esi + 8]
mov dword [ebp - 0x82c], 0x410
mov dword [ebp - 0x828], ebx
call dword [sym.imp.API_MS_Win_Core_LocalRegistry_L1_1_0.dll_RegEnumValueW]
test eax, eax
jne 0x101e557
push 0x101e6f8
push ebx
lea eax, [esi + 0x24]
push eax
call fcn.01010597
lea eax, [ebp - 0x824]
push eax
push ebx
lea eax, [esi + 0x24]
push eax
call fcn.01010597
mov dword [esi + 0x1c], 1
jmp 0x10112f1
mov dword [esi + 0x1c], edi
jmp 0x10112f1
push dword [esi]
call fcn.0103e871
test eax, eax
je 0x101132d
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x414]
push eax
push dword [esi]
mov dword [ebp - 0x82c], 1
call fcn.0103ec95
xor ecx, ecx
test eax, eax
setge cl
mov dword [ebp - 0x830], ecx
cmp ecx, edi
je 0x101132d
lea eax, [ebp - 0x414]
mov dword [ebp - 0x828], eax
jmp 0x1011342
lea eax, [esi + 0x24]
jmp 0x1011338
mov eax, dword [ebp - 0x828]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x101e5c4
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push dword [ebp - 0x828]
push 1
push edi
push 0x10111c0
push dword [esi + 4]
call ebx
push 0x100e734
push edi
push 0x1a
push 0xffff
call dword [sym.imp.USER32.dll_SendNotifyMessageW]
mov eax, dword [0x1049104]
cmp eax, 0x1049104
je 0x101e627
test byte [eax + 0x1c], 2
je 0x101e627
push dword [ebp - 0x828]
push 0x101e6e8
push 0xa
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01032e56
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 4
mov dword [ebp - 0x84c], eax
pop eax
push edi
push 0x1023b50
lea ecx, [ebp - 0x870]
mov dword [ebp - 0x848], eax
mov dword [ebp - 0x844], edi
mov dword [ebp - 0x840], 1
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x838], edi
call fcn.0102411d
push eax
lea eax, [ebp - 0x84c]
push eax
push dword [ebp - 0x828]
lea ecx, [ebp - 0x864]
call fcn.0102411d
push eax
lea eax, [esi + 0x436]
push eax
lea ecx, [ebp - 0x858]
call fcn.0102411d
push eax
lea eax, [ebp - 0x840]
push eax
push 0x101ff08
call fcn.01032099
add esp, 0x1c
jmp 0x1011374
xor eax, eax
cmp dword [ebp - 0x830], edi
push 4
setne al
mov dword [ebp - 0x82c], eax
lea eax, [ebp - 0x82c]
push eax
push 4
push edi
push 0x1023b98
push dword [esi + 4]
call ebx
jmp 0x1011389
push edi
push dword [esi]
call fcn.0103ef15
jmp 0x1011397