Function at 0x40d50e
Capabilities:
Hide graphical window
Query or enumerate registry key

Disassembly:
push ebp
mov eax, dword [esp + 0xc]
mov ebp, esp
sub esp, 0x14c
mov ecx, dword [eax]
push ebx
push esi
mov dword [ebp - 4], ecx
push edi
push 0x14
call fcn.0040e7ad
add esp, 4
mov dword [0x41b024], eax
test eax, eax
jne 0x40d53d
xor eax, eax
jmp 0x40d8a1
push 0x1b
call fcn.0040e7ad
add esp, 4
mov dword [0x41b028], eax
test eax, eax
jne 0x40d557
xor eax, eax
jmp 0x40d8a1
push 0x16
call fcn.0040e7ad
add esp, 4
mov dword [0x41b02c], eax
test eax, eax
jne 0x40d571
xor eax, eax
jmp 0x40d8a1
push 0x19
call fcn.0040e7ad
add esp, 4
mov dword [0x41b030], eax
test eax, eax
jne 0x40d58b
xor eax, eax
jmp 0x40d8a1
push 0x1a
call fcn.0040e7ad
add esp, 4
mov dword [0x41b034], eax
test eax, eax
jne 0x40d5a5
xor eax, eax
jmp 0x40d8a1
push 0x17
call fcn.0040e7ad
add esp, 4
mov dword [0x41b038], eax
test eax, eax
jne 0x40d5bf
xor eax, eax
jmp 0x40d8a1
push 0x18
call fcn.0040e7ad
add esp, 4
mov dword [0x41b03c], eax
test eax, eax
jne 0x40d5d9
xor eax, eax
jmp 0x40d8a1
push 0
mov eax, dword [0x41a560]
push eax
mov esi, dword [ebp + 8]
push 1
push esi
push 0
push 0
push 0
mov edi, dword [sym.imp.USER32.dll_CreateWindowExA]
push 0
push 0x5001001f
push 0
push str.SysTreeView32
push 0x200
call edi
mov dword [section..data], eax
test eax, eax
jne 0x40d618
xor eax, eax
jmp 0x40d8a1
push 0
mov eax, dword [0x41a560]
push eax
push 2
push esi
push 0
push 0
push 0
push 0
push 0x50018a41
push 0
push 0x41b054
push 0x200
call edi
mov dword [0x41b004], eax
test eax, eax
jne 0x40d64e
xor eax, eax
jmp 0x40d8a1
push 3
push esi
push 0
push 0x40000110
call dword [sym.imp.COMCTL32.dll_CreateStatusWindowA]
mov dword [0x41b008], eax
test eax, eax
jne 0x40d66e
xor eax, eax
jmp 0x40d8a1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
and eax, 1
cmp eax, 1
mov eax, 0
adc eax, 0xffffffff
and eax, 5
push eax
mov dword [0x41b020], eax
push dword [0x41b008]
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.0040e348
test eax, eax
jne 0x40d6a7
xor eax, eax
jmp 0x40d8a1
xor edi, edi
call fcn.0040e41c
push edi
mov eax, dword [section..data]
push edi
push 0xb
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x4c], 0xffff0000
push 0x13
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x48], 0xffff0002
mov dword [ebp - 0x44], 0x67
mov dword [ebp - 0x24], 1
lea ebx, [ebp - 0x4c]
call fcn.0040e7ad
add esp, 4
mov dword [ebp - 0x34], eax
mov eax, dword [section..data]
push ebx
push edi
push 0x1100
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, 0x412ac4
mov dword [ebp - 0x4c], eax
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x28], 3
mov eax, dword [edi - 4]
push 0x100
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x34], eax
mov eax, dword [edi]
push ecx
push 0
mov dword [ebp - 0x20], eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
push ebx
cmp eax, 1
sbb eax, eax
push 0
push 0x1100
add edi, 8
neg eax
push dword [section..data]
mov dword [ebp - 0x24], eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp edi, 0x412af4
jb 0x40d725
push dword [ebp - 0x4c]
push 2
push 0x1102
push dword [section..data]
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp - 0x4c]
push 9
push 0x110b
push dword [section..data]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x41b01c], 0
push 0
push 1
push 0xb
push dword [section..data]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [section..data]
mov edx, dword [ebp - 4]
push 0x11
mov dword [0x41b00c], ecx
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x1c], 6
lea edi, [ebp - 0x1c]
mov dword [0x41b010], eax
mov ecx, dword [edx + 0x30]
mov dword [ebp - 0x14], ecx
call fcn.0040e7ad
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [0x41b004]
push edi
push 0
push 0x101b
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 4]
push 0x12
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x14], ecx
call fcn.0040e7ad
add esp, 4
mov dword [ebp - 0x10], eax
push edi
push 1
push 0x101b
mov edi, 0x416040
push dword [0x41b004]
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push esi
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [0x41b044], eax
push 0x3f
call dword [sym.imp.USER32.dll_GetSystemMetrics]
and eax, 1
mov dword [0x41b04c], eax
jne 0x40d89c
push 0
mov eax, dword [0x41b044]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov esi, eax
push 0
push 0x291
mov edi, dword [sym.imp.USER32.dll_DeleteMenu]
push esi
call edi
push 0
push 0x300
push esi
call edi
push 0
push 0x2a1
push esi
call edi
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8