Function at 0x4045f0
Capabilities:
Enumerate gui resources

Disassembly:
push 0xffffffffffffffff
push 0x491b10
mov eax, dword fs:[0]
push eax
mov eax, 0x2258
mov dword fs:[0], esp
call fcn.0045a520
mov eax, dword [0x4d757c]
xor eax, esp
push ebx
mov ebx, dword [esp + 0x226c]
xor edx, edx
cmp word [ebx], dx
push esi
mov dword [esp + 0x225c], eax
mov esi, ecx
mov dword [esp + 0xc], ebx
jne 0x40463b
or eax, 0xffffffff
jmp 0x404c22
xor eax, eax
push ebp
push edi
mov word [esp + 0x21a0], dx
mov ecx, 0xf
lea edi, [esp + 0x21a2]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov dword [esp + 0x20b2], eax
mov dword [esp + 0x20b6], eax
mov dword [esp + 0x20ba], eax
mov dword [esp + 0x20be], eax
mov dword [esp + 0x20c2], eax
mov dword [esp + 0x20c6], eax
mov dword [esp + 0x20ca], eax
mov word [esp + 0x2118], dx
mov ecx, 0x10
lea edi, [esp + 0x211a]
rep stosd dword es:[edi], eax
mov word [esp + 0x21e0], dx
mov ecx, 0x20
lea edi, [esp + 0x21e2]
rep stosd dword es:[edi], eax
mov word [esp + 0x215c], dx
mov ecx, 0x10
lea edi, [esp + 0x215e]
rep stosd dword es:[edi], eax
push 0x20
lea ecx, [esp + 0x211c]
push ecx
mov dword [esp + 0x20d6], eax
mov eax, dword [esi + 0xa8]
push 2
push eax
push ebx
mov word [esp + 0x20c4], dx
or ebp, 0xffffffff
call fcn.0044b8d0
add esp, 0x14
test eax, eax
je 0x404aea
mov eax, dword [esi + 0xa8]
push 0x40
lea edx, [esp + 0x21e4]
push edx
push 3
push eax
push ebx
call fcn.0044b8d0
add esp, 0x14
test eax, eax
je 0x404aea
push 0
push 0
lea ecx, [esp + 0x2c]
call fcn.0041a0e0
xor eax, eax
mov ebx, dword [sym.imp.MSVCR71.dll_wcslen]
mov byte [esp + 0x208c], al
mov byte [esp + 0x20d4], 0
mov ecx, 0x10
lea edi, [esp + 0x20d5]
rep stosd dword es:[edi], eax
mov dword [esp + 0x208d], eax
mov dword [esp + 0x2091], eax
mov dword [esp + 0x2095], eax
mov dword [esp + 0x2099], eax
mov dword [esp + 0x209d], eax
mov dword [esp + 0x20a1], eax
mov dword [esp + 0x20a5], eax
push eax
push eax
push 0x41
lea ecx, [esp + 0x20e0]
push ecx
lea edx, [esp + 0x21f0]
push edx
mov dword [esp + 0x2284], 0
mov dword [esp + 0x20bd], eax
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 4
inc eax
push eax
lea eax, [esp + 0x21f4]
push eax
push 0
push 0x3a8
call edi
push 0
push 0
push 0x21
lea ecx, [esp + 0x2098]
push ecx
lea edx, [esp + 0x216c]
push edx
call ebx
add esp, 4
inc eax
push eax
lea eax, [esp + 0x2170]
push eax
push 0
push 0x3a8
call edi
lea ecx, [esp + 0x2118]
push ecx
call dword [sym.imp.MSVCR71.dll__wtoi64]
mov ebx, edx
add esp, 4
cmp ebx, 2
mov edi, eax
mov dword [esp + 0x18], edi
jg 0x404ad2
jl 0x40482b
cmp edi, 0x540be400
jae 0x404ad2
lea edx, [esp + 0x21e0]
push edx
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
cmp eax, 0x20
jbe 0x404937
xor ebp, ebp
lea edx, [esp + 0x208d]
mov edi, edi
mov al, byte [esp + ebp + 0x20d4]
cmp al, 0x61
jl 0x40485f
sub al, 0x57
jmp 0x404861
sub al, 0x30
mov cl, byte [esp + ebp + 0x20d5]
cmp cl, 0x61
jl 0x404872
sub cl, 0x57
jmp 0x404875
sub cl, 0x30
shl al, 4
add al, cl
mov byte [edx - 1], al
mov al, byte [esp + ebp + 0x20d6]
cmp al, 0x61
jl 0x40488c
sub al, 0x57
jmp 0x40488e
sub al, 0x30
mov cl, byte [esp + ebp + 0x20d7]
cmp cl, 0x61
jl 0x40489f
sub cl, 0x57
jmp 0x4048a2
sub cl, 0x30
shl al, 4
add al, cl
mov byte [edx], al
mov al, byte [esp + ebp + 0x20d8]
cmp al, 0x61
jl 0x4048b8
sub al, 0x57
jmp 0x4048ba
sub al, 0x30
mov cl, byte [esp + ebp + 0x20d9]
cmp cl, 0x61
jl 0x4048cb
sub cl, 0x57
jmp 0x4048ce
sub cl, 0x30
shl al, 4
add al, cl
mov byte [edx + 1], al
mov al, byte [esp + ebp + 0x20da]
cmp al, 0x61
jl 0x4048e5
sub al, 0x57
jmp 0x4048e7
sub al, 0x30
mov cl, byte [esp + ebp + 0x20db]
cmp cl, 0x61
jl 0x4048f8
sub cl, 0x57
jmp 0x4048fb
sub cl, 0x30
shl al, 4
add al, cl
mov byte [edx + 2], al
add ebp, 8
add edx, 4
cmp ebp, 0x3f
jl 0x404850
lea eax, [esp + 0x2118]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT_2]
mov byte [esp + 0x2270], 1
push 1
lea ecx, [esp + 0x2090]
jmp 0x40495a
lea eax, [esp + 0x2118]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT_2]
mov byte [esp + 0x2270], 2
push 0
lea ecx, [esp + 0x20d8]
push ecx
lea edx, [esp + 0x18]
lea ecx, [esp + 0x2c]
push edx
call fcn.00419320
lea ecx, [esp + 0x10]
mov ebp, eax
mov byte [esp + 0x2270], 0
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
test ebp, ebp
jne 0x404ad2
push ebx
push edi
mov ecx, esi
call fcn.004017c0
push ebx
push edi
mov ecx, esi
call fcn.004017f0
test eax, eax
push ebx
mov ecx, esi
push edi
je 0x4049c2
call fcn.004018d0
lea ecx, [esp + 0x24]
mov dword [esp + 0x2270], 0xffffffff
call fcn.00418700
mov eax, 1
jmp 0x404c20
call fcn.004034b0
call fcn.0044dca0
mov edi, eax
mov ecx, edi
call fcn.0044c290
or eax, edx
je 0x4049e0
mov ecx, esi
call fcn.00401b90
mov ecx, esi
call fcn.00402b70
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
or eax, edx
je 0x4049f9
mov ecx, esi
call fcn.00401b90
mov ecx, edi
call fcn.0044d530
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x521]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.0044d770
lea edx, [esp + 0x5e4]
push edx
mov ecx, edi
call fcn.0044bfb0
mov edi, dword [esp + 0x18]
mov ecx, dword [esi + 0xa4]
lea eax, [esp + 0x521]
push eax
push ebx
push edi
push ecx
mov ecx, esi
call fcn.004030e0
mov edx, dword [esi + 0xa4]
push ebx
push edi
push edx
mov ecx, esi
call fcn.00403190
lea eax, [esp + 0x521]
push eax
push ebx
push edi
mov ecx, esi
call fcn.004031e0
mov ecx, esi
call fcn.00402b70
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
mov ecx, dword [esi + 0xa4]
lea eax, [esp + 0x521]
push eax
push ebx
push edi
push ecx
mov ecx, esi
call fcn.00403240
mov ecx, 0x4d8288
call fcn.00402b70
test eax, eax
je 0x404aad
mov edx, dword [eax]
push 0x568
lea ecx, [esp + 0x5e8]
push ecx
push 0x64
push ebx
push edi
mov ecx, eax
call dword [edx + 0x2c]
push ebx
push edi
call fcn.0044ed30
mov ecx, eax
call fcn.0044ec90
push ebx
push edi
call fcn.0044b860
mov ecx, eax
call fcn.0044b790
push ebx
push edi
mov ecx, esi
call fcn.00404090
lea ecx, [esp + 0x24]
mov dword [esp + 0x2270], 0xffffffff
call fcn.00418700
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0xa8]
push 0x20
lea edx, [esp + 0x21a4]
push edx
push 0
push eax
push ebx
call fcn.0044b8d0
add esp, 0x14
test eax, eax
je 0x404c0f
mov eax, dword [esi + 0xa8]
push 0x10
lea ecx, [esp + 0x20b4]
push ecx
push 1
push eax
push ebx
call fcn.0044b8d0
add esp, 0x14
test eax, eax
je 0x404c0f
test ebp, ebp
je 0x404c1e
mov eax, dword [esi + 0xc8]
test eax, eax
jne 0x404b82
push 0x7a8
call sub.MFC71U.DLL_CWordArray::CWordArray
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x2270], 3
je 0x404b6f
push 0
mov ecx, eax
call fcn.00425790
jmp 0x404b71
xor eax, eax
mov dword [esp + 0x2270], 0xffffffff
mov dword [esi + 0xc8], eax
mov edx, dword [esi + 0xc8]
push edx
push 0x4019f0
call dword [sym.imp.USER32.dll_EnumWindows]
mov ecx, dword [esi + 0xc8]
call fcn.00425990
mov ecx, dword [esi + 0xc8]
test ecx, ecx
mov edi, eax
je 0x404bb7
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x404bb7
mov eax, dword [ecx]
call dword [eax + 0x68]
mov ecx, dword [esi + 0xc8]
test ecx, ecx
je 0x404bc8
mov edx, dword [ecx]
push 1
call dword [edx + 4]
test edi, edi
mov dword [esi + 0xc8], 0
je 0x404c1e
mov eax, dword [esi + 0x48]
push eax
mov dword [esp + 0x1c], 0xc
call dword [sym.imp.MSVCR71.dll_wcslen]
mov ecx, dword [esi + 0x48]
add esp, 4
lea edx, [esp + 0x18]
push edx
push 0
push 0x4a
shl eax, 1
push edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x404c20
push 0x4ae4c0
push ebx
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
mov eax, ebp
pop edi
pop ebp
mov ecx, dword [esp + 0x2260]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x2258]
pop ebx
xor ecx, esp
call fcn.0045a4fd
add esp, 0x2264
ret 4