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

Disassembly:
sub esp, 0x240
mov eax, dword [0x544354]
xor eax, esp
mov dword [esp + 0x23c], eax
cmp dword [0x54b9d4], 0
mov eax, dword [esp + 0x250]
push ebx
setne bl
mov dword [esp + 8], eax
xor eax, eax
mov word [0x5a4388], ax
push ebp
mov ebp, dword [esp + 0x250]
test bl, bl
jne 0x4ceea4
mov byte [0x5a59d0], al
xor ecx, ecx
mov byte [0x5a59d1], al
mov byte [0x5a5a3e], al
mov eax, dword [esp + 0x24c]
mov dword [0x5a2384], eax
mov word [0x5a5488], cx
jmp 0x4ceea9
mov eax, dword [0x5a2384]
cmp eax, 0xd
ja case.default.0x4ceeb2
jmp dword [eax*4 + 0x4cf49c]
mov dword [0x5a5c94], str.CMDWNDADD
test bl, bl
jne 0x4cf1f5
mov byte [0x5a59d0], 1
xor eax, eax
mov word [0x5a2388], ax
mov word [0x5a5588], ax
mov word [0x5a59d8], ax
mov dword [0x5a5a40], eax
mov dword [0x5a5a44], eax
mov dword [0x5a5a60], eax
mov dword [0x5a5a64], eax
mov dword [0x5a5a58], eax
mov dword [0x5a5a5c], eax
mov dword [0x5a5a50], eax
mov dword [0x5a5a54], eax
mov dword [0x5a5a48], eax
mov dword [0x5a5a4c], eax
mov byte [0x5a5a3c], al
mov byte [0x5a5a3d], al
mov dword [0x5a59d4], eax
call fcn.004fe857
mov dword [0x5a59cc], eax
xor eax, eax
mov dword [0x5a2380], 0
mov word [0x5a5a68], ax
mov dword [0x5a59c8], eax
call fcn.0044a140
mov byte [0x5a5a3f], 0
mov byte [0x5a5c98], 0
call fcn.004cc220
movzx eax, al
push eax
push str.SystemProgressBar
push 0x517fc8
call fcn.004a5d50
test eax, eax
setne byte [0x5a59d2]
call fcn.00470750
cmp eax, 0x601
sbb eax, eax
inc eax
push eax
push str.TaskbarProgressBar
push 0x517fc8
call fcn.004a5d50
test eax, eax
mov eax, dword [0x5a2384]
setne byte [0x5a59d3]
test eax, eax
je 0x4cefb5
cmp eax, 1
je 0x4cefb5
cmp eax, 2
jne 0x4cefe6
cmp dword [0x54bacc], 0
mov dword [0x54cb08], 0
mov dword [0x54cb0c], 0
jne 0x4cefe6
mov dword [0x54cb20], 0
mov dword [0x54cb24], 0
push esi
push edi
push 5
push dword [0x5a5c94]
push dword [0x57f310]
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
push esi
push dword [0x57f310]
call dword [sym.imp.KERNEL32.dll_LoadResource]
push esi
push dword [0x57f310]
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.004fa2e0
add esp, 0xc
cmp dword [0x54bacc], 1
je 0x4cf201
push dword [0x54b9c8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4cf201
mov byte [esp + 0x13], 0
jmp 0x4cf236
push ebp
call fcn.0047d830
push eax
xor eax, eax
cmp dword [0x5a2384], 1
setne al
add eax, 0x20f
push eax
call fcn.0048e4c0
push eax
push 0x880
push 0x5a4388
call fcn.00402720
add esp, 0x10
test bl, bl
jne 0x4cf0fa
cmp dword [0x54bacc], 0
mov eax, dword [0x56e12c]
je 0x4cf0a9
cmp dword [0x54cb00], 1
ja 0x4cf0b9
test eax, eax
je 0x4cf0b9
mov byte [0x5a59d0], 0
cmp eax, 1
jne 0x4cf0c0
mov byte [0x5a59d0], 1
lea eax, [esp + 0x54]
mov ecx, 0x56e128
push eax
call fcn.00405440
cmp byte [esp + 0x176], 0
je 0x4cf0f3
push 0x517b3c
lea eax, [esp + 0x58]
push eax
call fcn.00497d90
mov byte [0x5a59d1], 1
test eax, eax
je 0x4cf0fa
mov byte [0x5a59d1], 0
mov dword [0x5a5c94], str.CMDWNDADD
jmp case.default.0x4ceeb2
push ebp
call fcn.0047d830
push eax
push 0x211
call fcn.0048e4c0
push eax
push 0x880
push 0x5a4388
call fcn.00402720
add esp, 0x10
mov dword [0x5a5c94], 0x529508
jmp case.default.0x4ceeb2
push ebp
call fcn.0047d830
push eax
push 0x212
jmp 0x4cf115
push 0x880
push 0x24e
call fcn.0048e4c0
push eax
push 0x5a4388
call fcn.004947d0
mov dword [0x5a5c94], 0x529508
jmp case.default.0x4ceeb2
push ebp
call fcn.0047d830
push eax
push 0x216
jmp 0x4cf115
push 0x880
push 0x223
jmp 0x4cf154
push 0x880
push 0x672
jmp 0x4cf154
push 0x880
push 0x50b
call fcn.0048e4c0
push eax
push 0x5a4388
call fcn.004947d0
mov dword [0x5a5c94], 0x529520
jmp case.default.0x4ceeb2
mov dword [0x5a5c94], str.CMDWNDFIND
jmp case.default.0x4ceeb2
push 0x880
push 0x543
jmp 0x4cf154
push 0x880
push 0x556
jmp 0x4cf154
mov dword [0x5a5c94], str.CMDWNDBENCH
test bl, bl
je 0x4ceed2
call fcn.004d0b20
xor al, al
jmp 0x4cf480
mov ecx, dword [ebx]
mov eax, ecx
and eax, 0xffff0000
mov byte [esp + 0x13], 1
cmp eax, 0xffff0000
jne 0x4cf228
mov eax, dword [ebx + 0xc]
and eax, 0x3ff5f7ff
or eax, 0x800a0800
mov dword [ebx + 0xc], eax
jmp 0x4cf236
and ecx, 0x3ff5f7ff
or ecx, 0x800a0800
mov dword [ebx], ecx
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4cf243
mov eax, fcn.004ce0a0
push 0
push eax
mov eax, dword [0x54bacc]
dec eax
neg eax
sbb eax, eax
and eax, dword [0x54b9c8]
push eax
push ebx
push dword [0x57f310]
call dword [sym.imp.USER32.dll_CreateDialogIndirectParamW]
cmp byte [esp + 0x13], 0
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [0x54b9d4], eax
je 0x4cf2ae
push 1
mov ecx, 0x572f10
call fcn.004af6d0
push eax
push 0
push 0x80
push dword [0x54b9d4]
call edi
push 0
mov ecx, 0x572f10
call fcn.004af6d0
push eax
push 1
push 0x80
push dword [0x54b9d4]
call edi
cmp dword [0x5a2384], 8
jne 0x4cf393
cmp dword [0x55d60c], 0
jne 0x4cf393
cmp word [0x5584d8], 0
je 0x4cf32f
push 0x5584d8
mov esi, 0x519ae8
call fcn.0047d830
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4cf307
test cx, cx
je 0x4cf303
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4cf307
add eax, 4
add esi, 4
test cx, cx
jne 0x4cf2e1
xor eax, eax
jmp 0x4cf30c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4cf317
push 0x215
jmp 0x4cf31c
push 0x214
call fcn.0048e4c0
push eax
push str.___s
call fcn.004cd9b0
add esp, 8
cmp word [0x55a4de], 0
je 0x4cf351
push 0x213
call fcn.0048e4c0
push eax
push str.___s
call fcn.004cd9b0
add esp, 8
cmp dword [0x55d608], 0
je 0x4cf372
push 0x218
call fcn.0048e4c0
push eax
push str.___s
call fcn.004cd9b0
add esp, 8
cmp byte [0x55d8d8], 0
je 0x4cf393
push 0x217
call fcn.0048e4c0
push eax
push str.___s
call fcn.004cd9b0
add esp, 8
cmp byte [esp + 0x25c], 0
je 0x4cf3b3
push 0
push 0xa8
push 0x111
push dword [0x54b9d4]
call edi
jmp 0x4cf3e9
cmp byte [esp + 0x13], 0
mov esi, 5
je 0x4cf3dc
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
test byte [esp + 0x44], 1
je 0x4cf3dc
movzx eax, word [esp + 0x48]
neg eax
sbb eax, eax
and esi, eax
push esi
push dword [0x54b9d4]
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [0x5a2384]
pop edi
pop esi
test eax, eax
je 0x4cf405
cmp eax, 1
je 0x4cf405
cmp eax, 2
jne 0x4cf43e
push ebp
push 0xa6
push dword [0x54b9d4]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0xa6
push dword [0x54b9d4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00447280
push 0x800
push ebp
push 0x5a3388
call fcn.004947d0
cmp word [0x5a4388], 0
jne 0x4cf45e
push 0x880
push 0x5a4388
push dword [0x54b9d4]
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp dword [0x54b9d4], 0
je 0x4cf1fa
call fcn.004d0b20
cmp dword [0x5a2384], 0
jne 0x4cf47e
call fcn.004d0e50
mov al, 1
mov ecx, dword [esp + 0x244]
pop ebp
pop ebx
xor ecx, esp
call fcn.004f833c
add esp, 0x240
ret 0x10