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

Disassembly:
cmp dword [0x53890c], 0
push ebx
setne bl
xor eax, eax
mov word [0x5908b0], ax
push ebp
test bl, bl
jne 0x4c5fcb
mov byte [0x591ef8], al
xor ecx, ecx
mov byte [0x591ef9], al
mov byte [0x591f66], al
mov eax, dword [esp + 0xc]
mov dword [0x58f8ac], eax
mov word [0x5919b0], cx
jmp 0x4c5fd0
mov eax, dword [0x58f8ac]
mov ebp, dword [esp + 0x10]
cmp eax, 0xd
ja case.default.0x4c5fdd
jmp dword [eax*4 + 0x4c6560]
mov dword [0x5921bc], str.CMDWNDADD
test bl, bl
jne 0x4c631f
mov byte [0x591ef8], 1
xor eax, eax
mov word [0x58f8b0], ax
mov word [0x591ab0], ax
mov word [0x591f00], ax
mov dword [0x591f68], eax
mov dword [0x591f6c], eax
mov dword [0x591f88], eax
mov dword [0x591f8c], eax
mov dword [0x591f80], eax
mov dword [0x591f84], eax
mov dword [0x591f78], eax
mov dword [0x591f7c], eax
mov dword [0x591f70], eax
mov dword [0x591f74], eax
mov byte [0x591f64], al
mov byte [0x591f65], al
mov dword [0x591efc], eax
call fcn.004f24cc
mov dword [0x591ef4], eax
xor eax, eax
mov dword [0x58f8a8], 0
mov word [0x591f90], ax
mov dword [0x591ef0], eax
call fcn.00447d70
mov byte [0x591f67], 0
mov byte [0x5921c0], 0
call fcn.004c3ce0
movzx eax, al
push eax
push str.SystemProgressBar
push str.Interface
call fcn.0049fd30
test eax, eax
setne byte [0x591efa]
call fcn.0046bee0
cmp eax, 0x601
sbb eax, eax
inc eax
push eax
push str.TaskbarProgressBar
push str.Interface
call fcn.0049fd30
test eax, eax
mov eax, dword [0x58f8ac]
setne byte [0x591efb]
test eax, eax
je 0x4c60e0
cmp eax, 1
je 0x4c60e0
cmp eax, 2
jne 0x4c6111
cmp dword [0x538a04], 0
mov dword [0x539a40], 0
mov dword [0x539a44], 0
jne 0x4c6111
mov dword [0x539a58], 0
mov dword [0x539a5c], 0
push esi
push edi
push 5
push dword [0x5921bc]
push dword [0x56df20]
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
push esi
push dword [0x56df20]
call dword [sym.imp.KERNEL32.dll_LoadResource]
push esi
push dword [0x56df20]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push esi
mov ebx, eax
push edi
push ebx
call fcn.004edb80
add esp, 0xc
cmp dword [0x538a04], 1
je 0x4c632b
push dword [0x538900]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4c632b
mov byte [esp + 0x14], 0
jmp 0x4c6360
push ebp
call fcn.00478eb0
push eax
xor eax, eax
cmp dword [0x58f8ac], 1
setne al
add eax, 0x20f
push eax
call fcn.00488530
push eax
push 0x880
push 0x5908b0
call fcn.004028e0
add esp, 0x10
test bl, bl
jne 0x4c6224
cmp dword [0x538a04], 0
je 0x4c61cf
cmp dword [0x539a38], 1
ja 0x4c61f8
cmp dword [0x55a854], 0
je 0x4c61f8
mov ecx, 0x55a850
call fcn.00405850
test eax, eax
jne 0x4c61ef
cmp dword [0x55a854], 1
je 0x4c61f8
mov byte [0x591ef8], 0
jmp 0x4c61ff
mov byte [0x591ef8], 1
mov ecx, 0x55a850
call fcn.00405850
test eax, eax
je 0x4c621d
cmp dword [0x55a854], 0
mov byte [0x591ef9], 1
jne 0x4c6224
mov byte [0x591ef9], 0
mov dword [0x5921bc], str.CMDWNDADD
jmp case.default.0x4c5fdd
push ebp
call fcn.00478eb0
push eax
push 0x211
call fcn.00488530
push eax
push 0x880
push 0x5908b0
call fcn.004028e0
add esp, 0x10
mov dword [0x5921bc], 0x51309c
jmp case.default.0x4c5fdd
push ebp
call fcn.00478eb0
push eax
push 0x212
jmp 0x4c623f
push 0x880
push 0x24e
call fcn.00488530
push eax
push 0x5908b0
call fcn.0048e710
mov dword [0x5921bc], 0x51309c
jmp case.default.0x4c5fdd
push ebp
call fcn.00478eb0
push eax
push 0x216
jmp 0x4c623f
push 0x880
push 0x223
jmp 0x4c627e
push 0x880
push 0x672
jmp 0x4c627e
push 0x880
push 0x50b
call fcn.00488530
push eax
push 0x5908b0
call fcn.0048e710
mov dword [0x5921bc], 0x5130b4
jmp case.default.0x4c5fdd
mov dword [0x5921bc], str.CMDWNDFIND
jmp case.default.0x4c5fdd
push 0x880
push 0x543
jmp 0x4c627e
push 0x880
push 0x556
jmp 0x4c627e
mov dword [0x5921bc], str.CMDWNDBENCH
test bl, bl
je 0x4c5ffd
call fcn.004c7be0
pop ebp
xor al, al
pop ebx
ret 0x10
mov ecx, dword [ebx]
mov eax, ecx
and eax, 0xffff0000
mov byte [esp + 0x14], 1
cmp eax, 0xffff0000
jne 0x4c6352
mov eax, dword [ebx + 0xc]
and eax, 0x3ff5f7ff
or eax, 0x800a0800
mov dword [ebx + 0xc], eax
jmp 0x4c6360
and ecx, 0x3ff5f7ff
or ecx, 0x800a0800
mov dword [ebx], ecx
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4c636d
mov eax, fcn.004c52f0
push 0
push eax
mov eax, dword [0x538a04]
dec eax
neg eax
sbb eax, eax
and eax, dword [0x538900]
push eax
push ebx
push dword [0x56df20]
call dword [sym.imp.USER32.dll_CreateDialogIndirectParamW]
cmp byte [esp + 0x14], 0
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [0x53890c], eax
je 0x4c63d8
push 1
mov ecx, 0x55f640
call fcn.004a8ed0
push eax
push 0
push 0x80
push dword [0x53890c]
call edi
push 0
mov ecx, 0x55f640
call fcn.004a8ed0
push eax
push 1
push 0x80
push dword [0x53890c]
call edi
cmp dword [0x58f8ac], 8
jne 0x4c64c2
cmp dword [0x549fcc], 0
jne 0x4c64c2
cmp word [0x544e98], 0
je 0x4c645e
push 0x544e98
mov esi, 0x50d998
call fcn.00478eb0
jmp 0x4c6410
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4c6436
test cx, cx
je 0x4c6432
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4c6436
add eax, 4
add esi, 4
test cx, cx
jne 0x4c6410
xor eax, eax
jmp 0x4c643b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4c6446
push 0x215
jmp 0x4c644b
push 0x214
call fcn.00488530
push eax
push 0x513100
call fcn.004c4d60
add esp, 8
cmp word [0x546e9e], 0
je 0x4c6480
push 0x213
call fcn.00488530
push eax
push 0x513100
call fcn.004c4d60
add esp, 8
cmp dword [0x549fc8], 0
je 0x4c64a1
push 0x218
call fcn.00488530
push eax
push 0x513100
call fcn.004c4d60
add esp, 8
cmp byte [0x54a168], 0
je 0x4c64c2
push 0x217
call fcn.00488530
push eax
push 0x513100
call fcn.004c4d60
add esp, 8
cmp byte [esp + 0x1c], 0
je 0x4c64dc
push 0
push 0x6e
push 0x111
push dword [0x53890c]
call edi
jmp 0x4c64ea
push 5
push dword [0x53890c]
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [0x58f8ac]
pop edi
pop esi
test eax, eax
je 0x4c6506
cmp eax, 1
je 0x4c6506
cmp eax, 2
jne 0x4c6518
push ebp
push 0xa5
push dword [0x53890c]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp word [0x5908b0], 0
jne 0x4c6538
push 0x880
push 0x5908b0
push dword [0x53890c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp dword [0x53890c], 0
je 0x4c6324
call fcn.004c7be0
cmp dword [0x58f8ac], 0
jne 0x4c6558
call fcn.004c7e30
pop ebp
mov al, 1
pop ebx
ret 0x10