Function at 0x40f8e1
Capabilities:
Terminate process

Disassembly:
push 0x41c
mov eax, 0x45568f
call fcn.0043d2a8
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
xor edi, edi
cmp ebx, edi
mov esi, ecx
mov dword [ebp - 0x420], esi
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x41c], edi
mov dword [ebp - 0x424], edi
je 0x40fbb0
cmp dword [0x474cb8], edi
je 0x40fae9
lea ecx, [ebp - 0x418]
mov esi, 0x80004005
call fcn.004061e7
mov dword [ebp - 4], edi
push 0x457f6c
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40f953
mov esi, 0xa0080004
jmp 0x40fa7b
push 0x457f50
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40f96d
mov esi, 0xa0080003
jmp 0x40fa7b
push 0x458344
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40f987
mov esi, 0x80070032
jmp 0x40fa7b
push 0x458328
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40f9a1
mov esi, 0x8007000e
jmp 0x40fa7b
push 0x458360
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40f9bb
mov esi, 0x80070057
jmp 0x40fa7b
push edi
push 0x4716e4
push 0x470fb4
push edi
push ebx
call fcn.0043b2f0
add esp, 0x14
test eax, eax
je 0x40f9de
mov esi, 0xa0080002
jmp 0x40fa7b
push 0x45826c
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40f9f6
mov esi, dword [ebx + 8]
jmp 0x40fa7b
push 0x458518
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40fa1b
mov esi, dword [ebx + 0xc]
cmp esi, edi
jle 0x40fa7b
and esi, 0xffff
or esi, 0x80070000
jmp 0x40fa7b
push 0x458640
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40fa36
mov esi, dword [ebx + 8]
or esi, 0xa0090000
jmp 0x40fa7b
push 0x45c6f4
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40fa51
mov esi, dword [ebx + 8]
or esi, 0x10000000
jmp 0x40fa7b
push 0x45830c
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40fa68
mov esi, 0xa0080001
jmp 0x40fa7b
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
push dword [eax]
lea ecx, [ebp - 0x418]
call fcn.0040b5d8
mov eax, dword [ebp - 0x418]
cmp dword [eax - 0xc], edi
jne 0x40faa2
push edi
lea ecx, [ebp - 0x414]
call fcn.0040154d
mov byte [ebp - 4], 1
mov dword [ebp - 0x41c], 1
jmp 0x40faa8
lea eax, [ebp - 0x418]
push dword [eax]
mov ecx, dword [0x474cb8]
push esi
call fcn.00414049
mov dword [ebp - 4], edi
test byte [ebp - 0x41c], 1
je 0x40fad4
and dword [ebp - 0x41c], 0xfffffffe
lea ecx, [ebp - 0x414]
call fcn.00401b5e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x418]
call fcn.00401b5e
mov esi, dword [ebp - 0x420]
mov eax, dword [esi + 0x19c]
cmp eax, edi
je 0x40fb04
mov esi, ebx
mov edi, eax
call fcn.00409bf5
mov esi, dword [ebp - 0x420]
xor edi, edi
push 0x458328
mov ecx, ebx
call fcn.0042dad0
test eax, eax
jne 0x40fb28
push 0x45c6f4
mov ecx, ebx
call fcn.0042dad0
test eax, eax
je 0x40fbb0
mov edx, dword [esi + 0x19c]
cmp edx, edi
je 0x40fb3f
push edi
push str.InstallBroken
call fcn.0040618f
pop ecx
pop ecx
mov eax, dword [ebx]
push edi
push 0x200
lea ecx, [ebp - 0x410]
push ecx
mov ecx, ebx
call dword [eax + 0xc]
test eax, eax
lea eax, [ebp - 0x414]
push eax
push 0x474b18
je 0x40fb7d
call fcn.0040ef98
mov dword [ebp - 4], 2
mov eax, dword [eax]
push 0x10
push eax
lea eax, [ebp - 0x410]
push eax
jmp 0x40fb93
call fcn.0040ef98
mov dword [ebp - 4], 3
mov eax, dword [eax]
push 0x10
push eax
push str.Out_of_memory_
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x414]
call fcn.00401b5e
push 1
call fcn.0043af64
xor eax, eax
inc eax
mov dword [esi + 0xa4], eax
mov esi, dword [0x474b38]
mov dword [0x474bc0], eax
call fcn.0040a347
cmp ebx, edi
je 0x40fbe5
push dword [ebp - 0x428]
mov ecx, dword [ebp - 0x420]
push ebx
call fcn.00433430
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x424]
call fcn.0043d32b
ret 8