Function at 0x100337b
Capabilities:
Query or enumerate registry key

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xa98
mov eax, dword [0x101d044]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
push 0x14
mov dword [ebp - 0xa14], esi
mov dword [ebp - 0xa28], edi
mov dword [ebp - 0xa24], edi
mov dword [ebp - 0xa08], 0x200
mov dword [ebp - 0xa18], eax
call fcn.01003915
pop ecx
mov dword [0x101d0b4], eax
cmp eax, edi
je 0x10038a0
push 0x1b
call fcn.01003915
pop ecx
mov dword [0x101d0b8], eax
cmp eax, edi
je 0x10038a0
push 0x16
call fcn.01003915
pop ecx
mov dword [0x101d0bc], eax
cmp eax, edi
je 0x10038a0
push 0x19
call fcn.01003915
pop ecx
mov dword [0x101d0c0], eax
cmp eax, edi
je 0x10038a0
push 0x1a
call fcn.01003915
pop ecx
mov dword [0x101d0c4], eax
cmp eax, edi
je 0x10038a0
push 0x15
call fcn.01003915
pop ecx
mov dword [0x101d0c8], eax
cmp eax, edi
je 0x10038a0
push 0x17
call fcn.01003915
pop ecx
mov dword [0x101d0cc], eax
cmp eax, edi
je 0x10038a0
push 0x18
call fcn.01003915
pop ecx
mov dword [0x101d0d0], eax
cmp eax, edi
je 0x10038a0
lea eax, [ebp - 0xa24]
push eax
call dword [sym.imp.USER32.dll_GetProcessDefaultLayout]
test eax, eax
je 0x1003484
test byte [ebp - 0xa24], 1
jne 0x10043aa
push ebx
push edi
push dword [0x101d054]
mov ebx, dword [sym.imp.USER32.dll_CreateWindowExW]
push 1
push esi
push edi
push edi
push edi
push edi
push 0x5001003f
push edi
push 0x10038f4
push dword [ebp - 0xa08]
call ebx
mov dword [0x101d090], eax
cmp eax, edi
je 0x10038a4
push edi
push 0x10038e0
push eax
call dword [sym.imp.UxTheme.dll_SetWindowTheme]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 4
push 4
push 0x112c
push dword [0x101d090]
call esi
push edi
push dword [0x101d054]
push 2
push dword [ebp - 0xa14]
push edi
push edi
push edi
push edi
push 0x52018a41
push edi
push 0x10038c4
push dword [ebp - 0xa08]
call ebx
mov dword [0x101d094], eax
cmp eax, edi
je 0x10038a4
mov ecx, 0x4000
push ecx
push ecx
push 0x1036
push eax
call esi
push 3
push dword [ebp - 0xa14]
push edi
push 0x40000110
call dword [sym.imp.COMCTL32.dll_CreateStatusWindowW]
mov dword [0x101d098], eax
cmp eax, edi
je 0x10038a4
mov ecx, dword [ebp - 0xa18]
mov ecx, dword [ecx + 0x3c]
and cl, 1
movzx ecx, cl
neg ecx
sbb ecx, ecx
and ecx, 5
push ecx
push eax
mov dword [0x101d0b0], ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebp - 0xa14]
call fcn.01003993
test eax, eax
je 0x10038a4
call fcn.0100309b
push 0x44
lea eax, [ebp - 0xa98]
push edi
push eax
call sub.msvcrt.dll_memset
push 0x13
mov dword [ebp - 0xa98], 0xffff0000
mov dword [ebp - 0xa94], 0xffff0002
mov dword [ebp - 0xa90], 0x67
mov dword [ebp - 0xa78], edi
mov dword [ebp - 0xa74], edi
mov dword [ebp - 0xa70], 1
mov dword [ebp - 0xa6c], edi
call fcn.01003915
add esp, 0x10
mov dword [ebp - 0xa80], eax
lea eax, [ebp - 0xa98]
push eax
push edi
push 0x1132
push dword [0x101d090]
call esi
push dword [ebp - 0xa80]
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0xa98], eax
call ebx
mov dword [ebp - 0xa78], 2
mov dword [ebp - 0xa74], 3
mov dword [ebp - 0xa0c], edi
mov dword [ebp - 0xa08], edi
cmp dword [ebp - 0xa0c], 5
je 0x1003679
mov eax, dword [ebp - 0xa08]
mov ecx, dword [eax + 0x1001c38]
mov eax, dword [eax + 0x1001c3c]
push 0x100
mov dword [ebp - 0xa80], ecx
lea ecx, [ebp - 0x204]
push ecx
push edi
push eax
mov dword [ebp - 0xa6c], eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xa70], eax
lea eax, [ebp - 0xa98]
push eax
push edi
push 0x1132
push dword [0x101d090]
call esi
add dword [ebp - 0xa08], 0xc
inc dword [ebp - 0xa0c]
cmp dword [ebp - 0xa08], 0x48
jb 0x100361e
push dword [ebp - 0xa98]
push 2
push 0x1102
push dword [0x101d090]
call esi
push dword [ebp - 0xa98]
push 9
push 0x110b
push dword [0x101d090]
call esi
mov eax, dword [0x101d090]
mov dword [0x101d09c], eax
mov eax, dword [ebp - 0xa18]
mov dword [0x101d0ac], edi
mov ecx, dword [eax + 0x2c]
mov dword [0x101d0a0], ecx
mov dword [ebp - 0xa54], 6
mov eax, dword [eax + 0x30]
push 0x11
mov dword [ebp - 0xa4c], eax
call fcn.01003915
pop ecx
mov dword [ebp - 0xa48], eax
lea eax, [ebp - 0xa54]
push eax
push edi
push 0x1061
push dword [0x101d094]
call esi
push dword [ebp - 0xa48]
call ebx
mov eax, dword [ebp - 0xa18]
mov eax, dword [eax + 0x34]
push 0x1f
mov dword [ebp - 0xa4c], eax
call fcn.01003915
pop ecx
mov dword [ebp - 0xa48], eax
lea eax, [ebp - 0xa54]
push eax
push 1
push 0x1061
push dword [0x101d094]
call esi
push dword [ebp - 0xa48]
call ebx
mov eax, dword [ebp - 0xa18]
mov eax, dword [eax + 0x38]
push 0x12
mov dword [ebp - 0xa4c], eax
call fcn.01003915
pop ecx
mov dword [ebp - 0xa48], eax
lea eax, [ebp - 0xa54]
push eax
push 2
push 0x1061
push dword [0x101d094]
call esi
push dword [ebp - 0xa48]
call ebx
push 0x54
push edi
push 0x105d140
call sub.msvcrt.dll_memset
add esp, 0xc
push dword [ebp - 0xa14]
call dword [sym.imp.USER32.dll_GetMenu]
push 0x3f
mov dword [0x101d0d8], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
xor ebx, ebx
inc ebx
and eax, ebx
mov dword [0x101d0e0], eax
je 0x10043b9
push edi
push 9
push 0x110a
push dword [0x101d090]
call esi
mov dword [0x101d0e8], eax
lea eax, [ebp - 0xa1c]
push eax
push 0x10029e8
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x100388d
lea eax, [ebp - 0xa10]
push eax
lea eax, [ebp - 0xa04]
push eax
lea eax, [ebp - 0xa20]
push eax
push edi
push 0x1002a74
push dword [ebp - 0xa1c]
mov dword [ebp - 0xa10], 0x800
call fcn.01003313
test eax, eax
jne 0x100384a
cmp dword [ebp - 0xa20], ebx
jne 0x100384a
cmp dword [ebp - 0xa10], edi
jbe 0x100384a
push ebx
lea eax, [ebp - 0xa04]
push eax
call fcn.010030f5
push 4
pop esi
lea eax, [ebp - 0xa10]
push eax
lea eax, [ebp - 0xa28]
push eax
lea eax, [ebp - 0xa20]
push eax
push edi
push 0x10038a8
push dword [ebp - 0xa1c]
mov dword [ebp - 0xa10], esi
call fcn.01003313
test eax, eax
je 0x10043ff
push dword [ebp - 0xa1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0100160d
leave
ret 8
xor eax, eax
jmp 0x1003890
xor eax, eax
jmp 0x100388f
mov dword [ebp - 0xa08], 0x2200
jmp 0x1003484
push edi
push dword [0x101d0d8]
call dword [sym.imp.USER32.dll_GetSubMenu]
mov ebx, dword [sym.imp.USER32.dll_DeleteMenu]
push edi
push 0x291
push eax
mov dword [ebp - 0xa0c], eax
call ebx
push edi
push 0x300
push dword [ebp - 0xa0c]
call ebx
push edi
push 0x2a1
push dword [ebp - 0xa0c]
call ebx
xor ebx, ebx
inc ebx
jmp 0x10037c5
cmp dword [ebp - 0xa20], esi
jne 0x1003881
cmp dword [ebp - 0xa10], edi
jbe 0x1003881
cmp dword [ebp - 0xa28], edi
je 0x1003881
mov dword [0x105d664], ebx
jmp 0x1003881