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

Disassembly:
push ebp
lea ebp, [esp - 0x21c]
sub esp, 0x21c
push 0xffffffffffffffff
push 0x553663
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x58bb30]
xor eax, ebp
mov dword [ebp + 0x218], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x5933e8]
test eax, eax
mov ebx, dword [ebp + 0x228]
mov edi, dword [ebp + 0x230]
setne cl
xor edx, edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], edi
mov byte [ebp - 0xd], cl
mov word [0x5f7450], dx
test eax, eax
jne 0x5001ad
mov eax, dword [ebp + 0x224]
mov byte [0x5f8a51], dl
mov byte [0x5f8a52], dl
mov byte [0x5f8a9f], dl
mov byte [0x5f8b30], dl
mov dword [0x5f544c], eax
mov word [0x5f8550], dx
mov byte [0x5f8a50], dl
mov byte [0x5f8b33], dl
jmp 0x5001b2
mov eax, dword [0x5f544c]
cmp eax, 0xe
ja case.default.0x5001bb
jmp dword [eax*4 + 0x50096c]
test cl, cl
jne 0x500332
mov byte [0x5f8a51], 1
mov dword [0x5f8d60], 0x56af0c
jmp case.default.0x5001bb
push ebx
call fcn.004a2d90
xor ecx, ecx
mov esi, eax
cmp dword [0x5f544c], 1
setne cl
add ecx, 0x20f
push ecx
call fcn.004b68d0
push esi
push eax
push 0x880
push 0x5f7450
call fcn.00404ce0
add esp, 0x10
cmp byte [ebp - 0xd], 0
jne 0x500332
cmp dword [0x5933f8], 0
mov eax, dword [0x5c2bd4]
je 0x500235
cmp dword [0x59442c], 1
ja 0x500242
test eax, eax
je 0x500242
cmp eax, 1
je 0x500242
xor al, al
jmp 0x500244
mov al, 1
mov byte [0x5f8a51], al
xor eax, eax
mov dword [ebp + 0x124], 0
mov dword [ebp + 0x134], 0
mov dword [ebp + 0x138], 0
mov dword [ebp + 0x134], 0
mov dword [ebp + 0x138], 7
mov word [ebp + 0x124], ax
mov dword [ebp - 4], eax
mov dword [ebp + 0x140], eax
mov dword [ebp + 0x144], eax
mov dword [ebp - 4], 2
lea eax, [ebp]
push eax
mov ecx, 0x5c2bd0
call fcn.0040a190
cmp byte [ebp + 0x148], 0
je 0x5002c7
push 0x5579e8
lea eax, [ebp]
push eax
call fcn.004c1160
test eax, eax
jne 0x5002c7
mov al, 1
jmp 0x5002c9
xor al, al
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0x138]
mov byte [0x5f8a52], al
cmp ecx, 8
jb 0x500315
mov edx, dword [ebp + 0x124]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x50030b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x500967
push ecx
push edx
call fcn.0052f4fd
add esp, 8
xor eax, eax
mov dword [ebp + 0x134], 0
mov dword [ebp + 0x138], 7
mov word [ebp + 0x124], ax
mov dword [0x5f8d60], str.CMDWNDADD
jmp case.default.0x5001bb
push ebx
call fcn.004a2d90
push 0x211
mov esi, eax
call fcn.004b68d0
push esi
push eax
push 0x880
push 0x5f7450
call fcn.00404ce0
add esp, 0x10
mov dword [0x5f8d60], 0x56af20
jmp case.default.0x5001bb
push ebx
call fcn.004a2d90
push 0x212
jmp 0x50034c
push 0x880
push 0x24e
call fcn.004b68d0
push eax
push 0x5f7450
call fcn.004bd090
mov dword [0x5f8d60], 0x56af20
jmp case.default.0x5001bb
push ebx
call fcn.004a2d90
push 0x216
jmp 0x50034c
push 0x880
push 0x223
jmp 0x50038d
push 0x880
push 0x672
jmp 0x50038d
push 0x880
push 0x50b
call fcn.004b68d0
push eax
push 0x5f7450
call fcn.004bd090
mov dword [0x5f8d60], 0x56af38
jmp case.default.0x5001bb
mov dword [0x5f8d60], str.CMDWNDFIND
jmp case.default.0x5001bb
push 0x880
push 0x543
jmp 0x50038d
push 0x880
push 0x556
jmp 0x50038d
mov dword [0x5f8d60], str.CMDWNDBENCH
jmp case.default.0x5001bb
mov dword [0x5f8d60], str.CMDWNDREAD
cmp byte [ebp - 0xd], 0
je 0x500449
call fcn.00502060
xor al, al
jmp 0x500942
call fcn.004fc930
test al, al
je 0x500494
mov eax, dword [ebp + 0x224]
push ebx
mov dword [ebp - 0x28], eax
call fcn.005384bb
add esp, 4
mov dword [ebp - 0x24], eax
mov al, byte [ebp + 0x22c]
mov byte [ebp - 0x20], al
lea eax, [ebp - 0x28]
mov dword [ebp - 0x1c], edi
push eax
push 0
push 0x800f
push dword [0x5923dc]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
setne al
jmp 0x500942
xor eax, eax
mov word [0x5f5450], ax
mov word [0x5f8650], ax
mov word [0x5f8aa0], ax
mov dword [0x5f8b08], eax
mov dword [0x5f8b0c], eax
mov dword [0x5f8b28], eax
mov dword [0x5f8b2c], eax
mov dword [0x5f8b20], eax
mov dword [0x5f8b24], eax
mov dword [0x5f8b18], eax
mov dword [0x5f8b1c], eax
mov dword [0x5f8b10], eax
mov dword [0x5f8b14], eax
mov byte [0x5f8a9d], al
mov byte [0x5f8a9e], al
mov dword [0x5f8b04], eax
call fcn.00537b15
mov dword [0x5f8a98], eax
xor eax, eax
mov dword [0x5f5448], 0
mov word [0x5f8b38], ax
mov dword [0x5f8a54], eax
call fcn.00467610
mov byte [0x5f8b31], 0
mov byte [0x5f8b32], 0
call fcn.004fc980
movzx eax, al
push eax
push str.SystemProgressBar
push 0x557ef4
call fcn.004cf550
test eax, eax
setne byte [0x5f8a53]
call fcn.00495590
cmp eax, 0x601
sbb eax, eax
inc eax
push eax
push str.TaskbarProgressBar
push 0x557ef4
call fcn.004cf550
test eax, eax
mov eax, dword [0x5f544c]
setne byte [0x5f8a9c]
test eax, eax
je 0x500577
cmp eax, 1
je 0x500577
cmp eax, 2
jne 0x5005a8
cmp dword [0x5933f8], 0
mov dword [0x594430], 0
mov dword [0x594434], 0
jne 0x5005a8
mov dword [0x594448], 0
mov dword [0x59444c], 0
push 5
push dword [0x5f8d60]
push dword [0x5d2758]
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
push esi
push dword [0x5d2758]
call dword [sym.imp.KERNEL32.dll_LoadResource]
push esi
push dword [0x5d2758]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push edi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push ebx
push 0
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push ebx
mov edi, eax
push esi
push edi
call fcn.00531230
add esp, 0xc
cmp dword [0x5933f8], 1
je 0x500618
push dword [0x5923dc]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x500618
xor bl, bl
jmp 0x500653
cmp dword [0x5f544c], 0xe
mov bl, 1
je 0x500653
mov ecx, dword [edi]
mov eax, ecx
and eax, 0xffff0000
cmp eax, 0xffff0000
jne 0x500645
mov eax, dword [edi + 0xc]
and eax, 0x3ff5f7ff
or eax, 0x800a0800
mov dword [edi + 0xc], eax
jmp 0x500653
and ecx, 0x3ff5f7ff
or ecx, 0x800a0800
mov dword [edi], ecx
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x50065f
mov eax, fcn.004fefd0
push 0
push eax
mov eax, dword [0x5933f8]
dec eax
neg eax
sbb eax, eax
and eax, dword [0x5923dc]
push eax
push edi
push dword [0x5d2758]
call dword [sym.imp.USER32.dll_CreateDialogIndirectParamW]
mov dword [0x5933e8], eax
test bl, bl
je 0x5006c9
push 1
mov ecx, 0x5c7968
call fcn.004da130
push eax
push 0
push 0x80
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
mov ecx, 0x5c7968
call fcn.004da130
push eax
push 1
push 0x80
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x5f544c], 0xe
jne 0x5006fd
push 0
push 0x9a
push dword [0x5933e8]
call fcn.00413450
push 0
push 0xa3
push dword [0x5933e8]
call fcn.00413450
mov byte [0x5f8b30], 1
cmp dword [0x5f544c], 8
jne 0x5007dc
cmp dword [0x5aaf1c], 0
jne 0x5007dc
cmp word [0x5a4ee8], 0
je 0x500778
push 0x5a4ee8
mov esi, 0x55a578
call fcn.004a2d90
mov cx, word [eax]
cmp cx, word [esi]
jne 0x500756
test cx, cx
je 0x500752
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x500756
add eax, 4
add esi, 4
test cx, cx
jne 0x500730
xor eax, eax
jmp 0x50075b
sbb eax, eax
or eax, 1
neg eax
sbb eax, eax
add eax, 0x215
push eax
call fcn.004b68d0
push eax
push str.___s
call fcn.004fe800
add esp, 8
cmp word [0x5a6eee], 0
je 0x50079a
push 0x213
call fcn.004b68d0
push eax
push str.___s
call fcn.004fe800
add esp, 8
cmp dword [0x5aaf18], 0
je 0x5007bb
push 0x218
call fcn.004b68d0
push eax
push str.___s
call fcn.004fe800
add esp, 8
cmp byte [0x5ab1e0], 0
je 0x5007dc
push 0x217
call fcn.004b68d0
push eax
push str.___s
call fcn.004fe800
add esp, 8
cmp byte [ebp + 0x22c], 0
je 0x5007ff
push 0
push 0xa8
push 0x111
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x50083a
mov esi, dword [0x5f544c]
sub esi, 0xe
neg esi
sbb esi, esi
and esi, 5
test bl, bl
je 0x50082d
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
test byte [ebp - 0x40], 1
je 0x50082d
movzx eax, word [ebp - 0x3c]
neg eax
sbb eax, eax
and esi, eax
push esi
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [0x5f544c]
test eax, eax
je 0x500859
cmp eax, 1
je 0x500859
cmp eax, 2
je 0x500859
cmp eax, 0xe
jne 0x500895
mov esi, dword [ebp - 0x18]
push esi
push 0xa6
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0xa6
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.004d84b0
push 0x800
push esi
push 0x5f6450
call fcn.004bd090
cmp word [0x5f7450], 0
jne 0x5008b5
push 0x880
push 0x5f7450
push dword [0x5933e8]
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp dword [0x5933e8], 0
je 0x500442
call fcn.00502060
mov eax, dword [0x5f544c]
cmp eax, 0xe
je 0x5008e3
push 0
push dword [0x5933e8]
call fcn.004fe790
mov eax, dword [0x5f544c]
test eax, eax
jne 0x500940
cmp byte [0x5f8b32], al
jne 0x500940
cmp byte [0x5b02d4], al
je 0x500940
mov eax, dword [0x593400]
test eax, eax
je 0x500940
xor esi, esi
push 0xa
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x50092d
cmp byte [0x5933f6], 0
jne 0x500939
call fcn.004633a0
inc esi
cmp esi, 0x14
jae 0x500939
mov eax, dword [0x593400]
jmp 0x500902
push dword [0x593400]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [0x5f8b32], 1
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x218]
xor ecx, ebp
call fcn.0052f708
lea esp, [ebp + 0x21c]
pop ebp
ret 0x10
call fcn.00533acf
ret 0x5001