Function at 0x46d6eb
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
call fcn.00410810
lea esi, [ebx + 0xec]
call fcn.00410810
mov edx, dword [ebp + 0xc]
mov al, byte [ebp + 0x24]
mov cl, byte [ebp + 0x20]
lea edi, [ebx + 0x14]
push edx
mov esi, edi
mov byte [ebx + 4], al
mov byte [ebx + 5], cl
call fcn.0040df50
mov eax, dword [ebp + 0x10]
lea esi, [ebx + 0x24]
push eax
call fcn.0040df50
lea eax, [ebx + 0xbc]
push 0x4848e8
call fcn.004021e0
mov ecx, dword [ebp + 0x18]
xor eax, eax
mov dword [ebx + 0x10], ecx
lea ecx, [esp + 0x20]
mov dword [ebx + 0xcc], 1
mov byte [ebx + 0xc], 1
mov dword [ebx + 8], eax
mov dword [ebx + 0xd0], eax
mov dword [ebx + 0xe4], eax
call fcn.0040c060
lea ecx, [esp + 0x30]
call fcn.0040c060
lea ecx, [esp + 0x40]
call fcn.0040c060
mov eax, dword [ebx + 0x10]
test eax, eax
jge 0x46d79a
push eax
call fcn.00413762
add esp, 4
mov dword [ebx + 0x10], eax
mov byte [ebx + 0xc], 0
cmp dword [ebx + 0x10], 4
jne 0x46d7ad
push edi
call fcn.0046884b
mov dword [ebx + 0x10], 1
push edi
call fcn.00437bfd
test al, al
je 0x46d80d
push esi
call fcn.00437bfd
test al, al
je 0x46d80d
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
push ebx
call fcn.0044cc94
mov edx, dword [ebx]
mov eax, dword [edx]
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0xc]
push ecx
mov dword [esp + 0x10], eax
push edx
call fcn.00434343
lea ecx, [esp + 0x40]
call fcn.00402620
lea ecx, [esp + 0x30]
call fcn.00402620
lea ecx, [esp + 0x20]
call fcn.00402620
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
xor edi, edi
lea esi, [ebx + 0x14]
call fcn.00401be0
cmp word [eax], 0x5b
jne 0x46dc5b
mov eax, dword [ebx + 0x18]
lea edi, [eax - 1]
lea esi, [ebx + 0x14]
call fcn.00401be0
cmp word [eax], 0x5d
jne 0x46dc5b
mov edi, dword [ebx + 0x18]
mov dword [esp + 0xc], 1
sub edi, 2
lea esp, [esp]
push edi
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [ebx + 0x14]
push eax
call fcn.00460ed4
test al, al
je 0x46dc5b
lea eax, [esp + 0x20]
push 0x484aec
push eax
call fcn.00445975
add esp, 8
test al, al
jne 0x46db41
lea ecx, [esp + 0x20]
push 0x484b04
push ecx
call fcn.00445975
add esp, 8
test al, al
jne 0x46db8a
lea edx, [esp + 0x20]
push 0x484bb4
push edx
call fcn.00445975
add esp, 8
test al, al
jne 0x46dbc7
lea eax, [esp + 0x20]
push 0x484bc4
push eax
call fcn.00445975
add esp, 8
test al, al
je 0x46d92b
mov eax, dword [ebx + 8]
test al, 1
jne 0x46dc09
or eax, 2
lea esi, [ebx + 0x34]
mov dword [ebx + 8], eax
call fcn.00401060
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x14]
push edx
push esi
call fcn.0046865b
cmp dword [eax], 0
je 0x46d84b
lea ecx, [esp + 0x40]
call fcn.00402620
lea ecx, [esp + 0x30]
call fcn.00402620
lea ecx, [esp + 0x20]
call fcn.00402620
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea eax, [esp + 0x20]
push 0x484a5c
push eax
call fcn.00445975
add esp, 8
test al, al
je 0x46d95a
or dword [ebx + 8], 8
lea ecx, [esp + 0x30]
push ecx
lea esi, [ebx + 0xbc]
call fcn.0040df50
jmp 0x46d84b
lea edx, [esp + 0x20]
push 0x484a78
push edx
call fcn.00445975
add esp, 8
test al, al
je 0x46d98b
or dword [ebx + 8], 0x10
lea esi, [ebx + 0x78]
call fcn.00401060
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x1c]
push ecx
jmp 0x46d8f3
lea edx, [esp + 0x20]
push 0x484aa4
push edx
call fcn.00445975
add esp, 8
test al, al
je 0x46d9c0
mov eax, dword [esp + 0x30]
or dword [ebx + 8], 0x80
push eax
call fcn.00413431
add esp, 4
mov dword [ebx + 0xd4], eax
jmp 0x46d84b
lea ecx, [esp + 0x20]
push 0x484aa8
push ecx
call fcn.00445975
add esp, 8
test al, al
je 0x46d9f5
mov edx, dword [esp + 0x30]
or dword [ebx + 8], 0x100
push edx
call fcn.00413431
add esp, 4
mov dword [ebx + 0xd8], eax
jmp 0x46d84b
lea eax, [esp + 0x20]
push 0x484aac
push eax
call fcn.00445975
add esp, 8
test al, al
je 0x46da2a
mov ecx, dword [esp + 0x30]
or dword [ebx + 8], 0x200
push ecx
call fcn.00413431
add esp, 4
mov dword [ebx + 0xdc], eax
jmp 0x46d84b
lea edx, [esp + 0x20]
push 0x484ab0
push edx
call fcn.00445975
add esp, 8
test al, al
je 0x46da5f
mov eax, dword [esp + 0x30]
or dword [ebx + 8], 0x400
push eax
call fcn.00413431
add esp, 4
mov dword [ebx + 0xe0], eax
jmp 0x46d84b
lea ecx, [esp + 0x20]
push 0x484ab4
push ecx
call fcn.00445975
add esp, 8
test al, al
je 0x46da91
mov edx, dword [esp + 0x30]
or dword [ebx + 8], 0x20
push edx
call fcn.00413431
add esp, 4
mov dword [ebx + 0xcc], eax
jmp 0x46d84b
lea eax, [esp + 0x20]
push 0x484b9c
push eax
call fcn.00445975
add esp, 8
test al, al
je 0x46dac6
lea ecx, [esp + 0x30]
push 0x4848e8
push ecx
call fcn.00445975
add esp, 8
test al, al
je 0x46db1a
or dword [ebx + 8], 0x40
jmp 0x46d84b
lea edx, [esp + 0x20]
push 0x484bdc
push edx
call fcn.00445975
add esp, 8
test al, al
je 0x46db00
mov eax, dword [ebx + 8]
test al, 2
jne 0x46dc32
or eax, 1
mov dword [ebx + 8], eax
lea eax, [esp + 0x30]
push eax
lea esi, [esp + 0x44]
call fcn.0040df50
jmp 0x46d84b
lea ecx, [esp + 0x20]
push 0x4848e8
push ecx
call fcn.0044cd47
add esp, 8
test al, al
je 0x46d84b
lea ecx, [esp + 0x40]
call fcn.00402620
lea ecx, [esp + 0x30]
call fcn.00402620
lea ecx, [esp + 0x20]
call fcn.00402620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea edx, [esp + 0x30]
push 0x4848e8
push edx
call fcn.00445975
add esp, 8
test al, al
je 0x46db1a
mov ebx, dword [ebx]
test ebx, ebx
je 0x46db64
mov eax, dword [ebx]
jmp 0x46d7d2
lea ecx, [esp + 0x40]
call fcn.00402620
lea ecx, [esp + 0x30]
call fcn.00402620
lea ecx, [esp + 0x20]
call fcn.00402620
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea eax, [esp + 0x30]
push 0x4848e8
push eax
call fcn.00445975
add esp, 8
test al, al
je 0x46db1a
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
push ebx
call fcn.0044cc94
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x10], edx
push ecx
jmp 0x46d7df
mov eax, dword [esp + 0x30]
lea edx, [esp + 0xc]
push edx
push eax
call fcn.00435c62
mov esi, dword [esp + 0x14]
add esp, 8
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46db64
push esi
push ebx
call fcn.0044cc94
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x10], edx
push ecx
jmp 0x46d7df
lea ecx, [esp + 0x40]
call fcn.00402620
lea ecx, [esp + 0x30]
call fcn.00402620
lea ecx, [esp + 0x20]
call fcn.00402620
mov eax, 0xfffffffd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea ecx, [esp + 0x40]
call fcn.00402620
lea ecx, [esp + 0x30]
call fcn.00402620
lea ecx, [esp + 0x20]
call fcn.00402620
mov eax, 0xfffffffc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea edx, [esp + 0x40]
push edx
call fcn.00437bfd
test al, al
jne 0x46dc76
lea eax, [esp + 0x40]
push eax
lea esi, [ebx + 0x14]
call fcn.0040df50
cmp dword [ebx + 8], 0
jne 0x46dc83
mov dword [ebx + 8], 1
or dword [ebx + 8], 4
cmp byte [ebx + 0xc], 0
jne 0x46dc95
lea esi, [ebx + 0x24]
call fcn.00410a40
test byte [ebx + 8], 1
je 0x46dca9
cmp byte [ebx + 0xc], 0
jne 0x46dca9
lea esi, [ebx + 0x14]
call fcn.00410a40
cmp byte [ebp + 0x1c], 0
push ebx
push 0x460772
je 0x46dcc4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
jmp 0x46dcca
call dword [sym.imp.USER32.dll_EnumWindows]
mov edi, dword [ebp + 0x14]
lea esi, [ebx + 0xec]
push esi
push edi
call fcn.00445691
call fcn.00410810
cmp dword [ebx + 0xe4], 1
jl 0x46dcf6
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
mov eax, dword [edx]
push eax
push ebx
call fcn.0044cc94
mov ebx, dword [ebx + 0xe4]
lea ecx, [esp + 0x40]
call fcn.00402620
lea ecx, [esp + 0x30]
call fcn.00402620
lea ecx, [esp + 0x20]
call fcn.00402620
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x20