Function at 0x472a48
Capabilities:
Extract resource via kernel32 functions
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x472a51
add esp, 0xfffffaf4
mov eax, dword [ebp - 4]
cmp dword [0x4c4e30], 0
push ebx
push esi
push edi
mov byte [ebp - 5], cl
mov dword [ebp - 4], edx
mov esi, dword [ebp + 8]
je 0x472a80
xor eax, eax
jmp 0x473098
mov dword [0x4d1aa8], eax
xor edx, edx
mov byte [0x4d1bac], dl
mov byte [0x4d1b2c], dl
mov byte [0x4d1aac], dl
mov byte [0x4d1fac], 0
mov byte [0x4d21f7], 0
mov dword [0x4d2218], 0
mov dword [0x4d221c], 0
xor eax, eax
xor edx, edx
mov dword [0x4d2238], eax
mov dword [0x4d223c], edx
mov dword [0x4d2230], eax
mov dword [0x4d2234], edx
mov dword [0x4d2228], eax
mov dword [0x4d222c], edx
mov dword [0x4d2220], eax
mov dword [0x4d2224], edx
mov byte [0x4d2244], 0
mov byte [0x4d2245], 0
xor ecx, ecx
mov dword [0x4d2240], ecx
call fcn.004a0084
mov dword [0x4d21f0], eax
xor eax, eax
mov dword [0x4d1aa4], eax
xor edx, edx
mov dword [0x4d2248], edx
xor ecx, ecx
mov dword [0x4d21ec], ecx
mov byte [0x4d21f4], 0
mov byte [0x4d21f5], 0
mov byte [0x4d227c], 0
call fcn.004643c0
xor ecx, ecx
mov cl, al
mov edx, str.SystemProgressBar
mov eax, 0x4ab4c4
call fcn.0046136c
test eax, eax
setne al
and eax, 1
mov byte [0x4d21f6], al
mov eax, dword [0x4d1aa8]
test eax, eax
je 0x472b73
cmp eax, 1
je 0x472b73
cmp eax, 2
jne 0x472ba4
mov dword [0x4c8120], 0
mov dword [0x4c8124], 0
cmp dword [0x4c77c8], 0
jne 0x472ba4
mov dword [0x4c8128], 0
mov dword [0x4c812c], 0
cmp eax, 0xb
ja case.default.0x472bad
jmp dword [eax*4 + 0x472bb4]
mov dword [0x4d2278], str.CMDWNDADD
mov byte [0x4d21f4], 1
jmp case.default.0x472bad
mov eax, dword [ebp - 4]
call fcn.0040bd0c
push eax
mov eax, 0x20a
cmp dword [0x4d1aa8], 1
je 0x472c12
inc eax
call fcn.004125b4
push eax
push 0x4d1aac
call fcn.0049abc0
add esp, 0xc
cmp dword [0x4c77c8], 0
je 0x472c37
cmp dword [0x4c811c], 1
jg 0x472c56
mov eax, 0x4c5b84
call fcn.00457594
test eax, eax
jne 0x472c52
mov ebx, dword [0x4c5d8c]
test ebx, ebx
je 0x472c56
dec ebx
je 0x472c56
xor eax, eax
jmp 0x472c5b
mov eax, 1
mov byte [0x4d21f4], al
mov eax, 0x4c5b84
call fcn.00457594
test eax, eax
setne dl
and edx, 1
mov byte [0x4d21f5], dl
mov dword [0x4d2278], 0x4ab4e0
jmp case.default.0x472bad
mov eax, dword [ebp - 4]
call fcn.0040bd0c
push eax
mov eax, 0x20c
call fcn.004125b4
push eax
push 0x4d1aac
call fcn.0049abc0
add esp, 0xc
mov dword [0x4d2278], 0x4ab4ea
jmp case.default.0x472bad
mov eax, dword [ebp - 4]
call fcn.0040bd0c
push eax
mov eax, 0x20d
call fcn.004125b4
push eax
push 0x4d1aac
call fcn.0049abc0
add esp, 0xc
mov dword [0x4d2278], 0x4ab4ea
jmp case.default.0x472bad
mov eax, dword [ebp - 4]
call fcn.0040bd0c
push eax
mov eax, 0x211
call fcn.004125b4
push eax
push 0x4d1aac
call fcn.0049abc0
add esp, 0xc
mov dword [0x4d2278], 0x4ab4ea
jmp case.default.0x472bad
mov eax, 0x223
call fcn.004125b4
push eax
push 0x4d1aac
call fcn.00497c60
add esp, 8
mov dword [0x4d2278], 0x4ab4ea
jmp case.default.0x472bad
mov eax, 0x50b
call fcn.004125b4
push eax
push 0x4d1aac
call fcn.00497c60
add esp, 8
mov dword [0x4d2278], 0x4ab4f6
jmp case.default.0x472bad
mov dword [0x4d2278], str.CMDWNDFIND
jmp case.default.0x472bad
mov eax, 0x543
call fcn.004125b4
push eax
push 0x4d1aac
call fcn.00497c60
add esp, 8
mov dword [0x4d2278], 0x4ab4ea
jmp case.default.0x472bad
mov eax, 0x556
call fcn.004125b4
push eax
push 0x4d1aac
call fcn.00497c60
add esp, 8
mov dword [0x4d2278], 0x4ab4ea
jmp case.default.0x472bad
mov dword [0x4d2278], str.CMDWNDBENCH
push 5
push dword [0x4d2278]
push dword [0x4b2108]
call sub.KERNEL32.DLL_FindResourceA
mov ebx, eax
push ebx
push dword [0x4b2108]
call sub.KERNEL32.DLL_LoadResource
mov dword [ebp - 0xc], eax
push ebx
push dword [0x4b2108]
call sub.KERNEL32.DLL_SizeofResource
mov edi, eax
push edi
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov ebx, eax
push edi
push dword [ebp - 0xc]
push ebx
call fcn.00497a70
add esp, 0xc
cmp dword [0x4c77c8], 1
je 0x472e25
push dword [0x4c4e24]
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x472e25
xor eax, eax
jmp 0x472e2a
mov eax, 1
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x472e43
mov edx, dword [ebx]
and edx, 0xbfffffff
or edx, 0x800a0800
mov dword [ebx], edx
push 0
test esi, esi
jne 0x472e4e
mov esi, fcn.004730a4
push esi
cmp dword [0x4c77c8], 1
jne 0x472e5c
xor eax, eax
jmp 0x472e61
mov eax, dword [0x4c4e24]
push eax
push ebx
push dword [0x4b2108]
call sub.USER32.DLL_CreateDialogIndirectParamA
cmp byte [ebp - 0xd], 0
mov edi, eax
mov dword [0x4c4e30], edi
je 0x472eb5
mov eax, 0x4c5664
mov dl, 1
call fcn.0047aab8
push eax
push 0
push 0x80
push edi
call sub.USER32.DLL_SendMessageA
mov eax, 0x4c5664
xor edx, edx
call fcn.0047aab8
push eax
push 1
push 0x80
push dword [0x4c4e30]
call sub.USER32.DLL_SendMessageA
cmp dword [0x4d1aa8], 6
jne 0x472ff0
mov byte [ebp - 0x2010], 0
cmp byte [0x4b9d88], 0
je 0x472f24
push 0x4ab521
mov eax, 0x4b9d88
call fcn.0040bd0c
push eax
call fcn.00497c14
add esp, 8
test eax, eax
jne 0x472efa
mov eax, 0x210
call fcn.004125b4
jmp 0x472f04
mov eax, 0x20f
call fcn.004125b4
push eax
push str.___s
lea edx, [ebp - 0x2010]
push edx
call fcn.0049abc0
add esp, 0xc
lea eax, [ebp - 0x2010]
call fcn.00474960
cmp byte [0x4bad88], 0
je 0x472f57
mov eax, 0x20e
call fcn.004125b4
push eax
push str.___s
lea edx, [ebp - 0x2010]
push edx
call fcn.0049abc0
add esp, 0xc
lea eax, [ebp - 0x2010]
call fcn.00474960
cmp dword [0x4bba24], 0
je 0x472f8a
mov eax, 0x214
call fcn.004125b4
push eax
push str.___s
lea edx, [ebp - 0x2010]
push edx
call fcn.0049abc0
add esp, 0xc
lea eax, [ebp - 0x2010]
call fcn.00474960
cmp byte [0x4bbb45], 0
je 0x472fbd
mov eax, 0x213
call fcn.004125b4
push eax
push str.___s
lea edx, [ebp - 0x2010]
push edx
call fcn.0049abc0
add esp, 0xc
lea eax, [ebp - 0x2010]
call fcn.00474960
cmp byte [0x4bba3a], 0
je 0x472ff0
mov eax, 0x349
call fcn.004125b4
push eax
push str.___s
lea edx, [ebp - 0x2010]
push edx
call fcn.0049abc0
add esp, 0xc
lea eax, [ebp - 0x2010]
call fcn.00474960
cmp byte [ebp - 5], 0
je 0x47300c
push 0
push 0x6e
push 0x111
push dword [0x4c4e30]
call sub.USER32.DLL_SendMessageA
jmp 0x473019
push 5
push dword [0x4c4e30]
call sub.USER32.DLL_ShowWindow
push ebx
call sub.KERNEL32.DLL_GlobalFree
mov eax, dword [0x4d1aa8]
test eax, eax
je 0x473032
cmp eax, 1
je 0x473032
cmp eax, 2
jne 0x473066
push dword [ebp - 4]
mov eax, 0x28a
call fcn.004125b4
push eax
lea edx, [ebp - 0x2510]
push edx
call fcn.0049abc0
add esp, 0xc
lea ecx, [ebp - 0x2510]
push ecx
push 0xa5
push dword [0x4c4e30]
call sub.USER32.DLL_SetDlgItemTextA
cmp byte [0x4d1aac], 0
jne 0x473084
push 0x80
push 0x4d1aac
push dword [0x4c4e30]
call sub.USER32.DLL_GetWindowTextA
cmp dword [0x4c4e30], 0
jne 0x473091
xor eax, eax
jmp 0x473098
call fcn.00473b88
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4