Function at 0x41c548
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 8
add esp, 0xfffff004
push eax
dec eax
jne 0x41c551
mov eax, dword [ebp - 4]
add esp, 0xfffffdd0
push ebx
mov eax, 0x4d4d54
call fcn.004b9d54
push dword [ebp + 8]
call fcn.0041e488
pop ecx
test al, al
jne 0x41c5a7
push 0
push 0
push 0x41e
mov eax, dword [ebp + 8]
call fcn.0049b05c
push eax
call sub.USER32.DLL_SendMessageA
xor eax, eax
mov edx, dword [ebp - 0xb0]
mov dword fs:[0], edx
jmp 0x41cb96
push dword [ebp + 8]
call fcn.0041e7c8
pop ecx
mov word [ebp - 0xa0], 0xc
mov ecx, dword [ebp + 8]
push dword [ecx + 0x420]
lea eax, [ebp - 0x78]
push eax
call fcn.00422528
add esp, 8
lea edx, [ebp - 0x78]
push edx
inc dword [ebp - 0x94]
push dword [ebp + 8]
call fcn.0041de48
add esp, 8
dec dword [ebp - 0x94]
push 2
lea ecx, [ebp - 0x78]
push ecx
call fcn.00401a2c
add esp, 8
push dword [ebp + 8]
call fcn.0041df1c
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x378]
mov eax, dword [eax + 0x28c]
call fcn.004a6e58
mov dword [ebp - 0xb4], eax
xor edx, edx
mov dword [ebp - 0xb8], edx
mov ecx, dword [ebp + 8]
push dword [ecx + 0x420]
lea eax, [ebp - 0x1344]
push eax
call fcn.00423e9c
add esp, 8
lea edx, [ebp - 0x1344]
cmp word [edx + 0xe54], 0
setne cl
and ecx, 1
mov byte [ebp - 0xb9], cl
cmp byte [ebp - 0xb9], 0
je 0x41c663
inc dword [ebp - 0xb8]
xor eax, eax
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0xc0]
cmp edx, dword [ebp - 0xb4]
jge 0x41c6b6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x378]
mov eax, dword [eax + 0x28c]
mov edx, dword [ebp - 0xc0]
call fcn.004a6e90
call fcn.004a6744
test al, al
je 0x41c6a2
inc dword [ebp - 0xb8]
inc dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [ebp - 0xb4]
jl 0x41c679
mov eax, dword [ebp + 8]
cmp byte [eax + 0x402], 0
jne 0x41c6ef
xor edx, edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c8]
call fcn.0040554c
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c8]
call fcn.00405584
push dword [ebp + 8]
call fcn.0041cf74
pop ecx
cmp byte [ebp - 0xb9], 0
je 0x41c787
mov word [ebp - 0xa0], 0x18
mov edx, dword [ebp + 8]
push dword [edx + 0x420]
lea ecx, [ebp - 0x3824]
push ecx
call fcn.00423e9c
add esp, 8
lea edx, [ebp - 0x3824]
add edx, 0x224
lea eax, [ebp - 0x7c]
call fcn.004c7754
inc dword [ebp - 0x94]
lea ecx, [ebp - 0x7c]
push ecx
mov eax, dword [ebp + 8]
push dword [eax + 0x420]
lea edx, [ebp - 0x25b4]
push edx
call fcn.00423e9c
add esp, 8
lea ecx, [ebp - 0x25b4]
add ecx, 0xe54
push ecx
push dword [ebp + 8]
call fcn.0041c154
add esp, 0xc
dec dword [ebp - 0x94]
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.004c7828
push dword [ebp + 8]
call fcn.0041bf48
pop ecx
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xb4]
jge 0x41ca85
push 0x4d38dc
push dword [ebp - 0xc4]
mov edx, dword [ebp + 8]
push dword [edx + 0x420]
lea ecx, [ebp - 0x4a94]
push ecx
call fcn.00423d24
add esp, 0xc
lea eax, [ebp - 0x4a94]
add eax, 0x224
push eax
call fcn.004b9cf8
add esp, 8
test eax, eax
je 0x41ca6d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x378]
mov eax, dword [eax + 0x28c]
mov edx, dword [ebp - 0xc4]
call fcn.004a6e90
call fcn.004a6744
test al, al
je 0x41ca6d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x378]
mov eax, dword [eax + 0x28c]
mov edx, dword [ebp - 0xc4]
call fcn.004a6e90
add eax, 8
mov dword [ebp - 0xc8], eax
mov word [ebp - 0xa0], 0x24
push str.Installing...
lea eax, [ebp - 0x80]
call fcn.00406534
push eax
inc dword [ebp - 0x94]
call fcn.0042aee4
add esp, 8
lea ecx, [ebp - 0x80]
mov ecx, dword [ecx]
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x20]
dec dword [ebp - 0x94]
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.004c7828
mov word [ebp - 0xa0], 0x30
push dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
push dword [ecx + 0x420]
lea eax, [ebp - 0x6f74]
push eax
call fcn.00423d24
add esp, 0xc
lea edx, [ebp - 0x6f74]
add edx, 0x42c
lea eax, [ebp - 0x84]
call fcn.004c7754
inc dword [ebp - 0x94]
lea edx, [ebp - 0x84]
push edx
push dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
push dword [ecx + 0x420]
lea eax, [ebp - 0x5d04]
push eax
call fcn.00423d24
add esp, 0xc
lea edx, [ebp - 0x5d04]
add edx, 0xe54
push edx
push dword [ebp + 8]
call fcn.0041c154
add esp, 0xc
dec dword [ebp - 0x94]
lea eax, [ebp - 0x84]
mov edx, 2
call fcn.004c7828
push dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
push dword [ecx + 0x420]
lea eax, [ebp - 0x81e4]
push eax
call fcn.00423d24
add esp, 0xc
lea edx, [ebp - 0x81e4]
cmp dword [edx + 0x1268], 0
je 0x41c951
push dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
push dword [ecx + 0x420]
call fcn.00424030
add esp, 8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x378]
mov eax, dword [eax + 0x28c]
mov edx, dword [ebp - 0xc4]
call fcn.004a6e90
add eax, 8
mov dword [ebp - 0xcc], eax
mov word [ebp - 0xa0], 0x3c
push str.Installed
lea eax, [ebp - 0x88]
call fcn.00406534
push eax
inc dword [ebp - 0x94]
call fcn.0042aee4
add esp, 8
lea ecx, [ebp - 0x88]
mov ecx, dword [ecx]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x20]
dec dword [ebp - 0x94]
lea eax, [ebp - 0x88]
mov edx, 2
call fcn.004c7828
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x378]
mov eax, dword [eax + 0x28c]
mov edx, dword [ebp - 0xc4]
call fcn.004a6e90
add eax, 8
mov dword [ebp - 0xd0], eax
mov word [ebp - 0xa0], 0x48
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x378]
mov eax, dword [eax + 0x28c]
mov edx, dword [ebp - 0xc4]
call fcn.004a6e90
add eax, 8
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x8c]
call fcn.00406534
mov ecx, eax
inc dword [ebp - 0x94]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
mov edx, 2
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea ecx, [ebp - 0x8c]
mov ecx, dword [ecx]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax]
mov edx, 3
mov ebx, dword [eax]
call dword [ebx + 0x20]
dec dword [ebp - 0x94]
lea eax, [ebp - 0x8c]
mov edx, 2
call fcn.004c7828
inc dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc4]
cmp ecx, dword [ebp - 0xb4]
jl 0x41c7a1
push dword [ebp + 8]
call fcn.0041d02c
pop ecx
mov word [ebp - 0xa0], 0x60
mov eax, dword [ebp + 8]
push dword [eax + 0x420]
lea edx, [ebp - 0x28]
push edx
call fcn.00422528
add esp, 8
inc dword [ebp - 0x94]
mov word [ebp - 0xa0], 0x54
mov word [ebp - 0xa0], 0x6c
push dword [ebp + 8]
lea ecx, [ebp - 0x50]
push ecx
call fcn.0041e380
add esp, 8
inc dword [ebp - 0x94]
mov word [ebp - 0xa0], 0x54
push str.m_SetupHelper__InstallComplete_obj_path__
call sub.KERNEL32.DLL_OutputDebugStringW
add esp, 0xffffffd8
lea eax, [ebp - 0x50]
push eax
lea edx, [esp + 4]
push edx
call fcn.004027cc
add esp, 8
inc dword [ebp - 0x94]
mov word [ebp - 0xa0], 0x84
add esp, 0xffffffd8
lea ecx, [ebp - 0x28]
push ecx
lea eax, [esp + 4]
push eax
call fcn.004027cc
add esp, 8
inc dword [ebp - 0x94]
mov edx, dword [ebp + 8]
push dword [edx + 0x41c]
mov word [ebp - 0xa0], 0x78
add dword [ebp - 0x94], 0xfffffffe
call fcn.00424af0
add esp, 0x54
push str.Complete___
call sub.KERNEL32.DLL_OutputDebugStringW
push dword [ebp + 8]
call fcn.0041d0e4
pop ecx
xor eax, eax
push eax
dec dword [ebp - 0x94]
push 2
lea edx, [ebp - 0x50]
push edx
call fcn.00401a2c
add esp, 8
dec dword [ebp - 0x94]
push 2
lea ecx, [ebp - 0x28]
push ecx
call fcn.00401a2c
add esp, 8
pop eax
mov edx, dword [ebp - 0xb0]
mov dword fs:[0], edx
pop ebx
mov esp, ebp
pop ebp
ret 4