Function at 0x40e7d6
Capabilities:
Terminate process

Disassembly:
push 0x814
mov eax, 0x454408
call fcn.0043ca29
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
xor ebx, ebx
cmp edi, ebx
mov dword [ebp - 0x81c], ecx
mov dword [ebp - 0x820], eax
mov dword [ebp - 0x814], ebx
je 0x40ea59
cmp dword [0x474b50], ebx
je 0x40e9ca
lea ecx, [ebp - 0x818]
mov esi, 0x80004005
call fcn.0041611a
mov dword [ebp - 4], ebx
push 0x4580f4
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e840
mov esi, 0xa0080004
jmp 0x40e968
push 0x4580d8
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e85a
mov esi, 0xa0080003
jmp 0x40e968
push 0x457edc
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e874
mov esi, 0x80070032
jmp 0x40e968
push 0x457ec0
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e88e
mov esi, 0x8007000e
jmp 0x40e968
push 0x457ef8
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e8a8
mov esi, 0x80070057
jmp 0x40e968
push ebx
push 0x471584
push 0x470f18
push ebx
push edi
call fcn.0043aa6d
add esp, 0x14
test eax, eax
je 0x40e8cb
mov esi, 0xa0080002
jmp 0x40e968
push 0x457b8c
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e8e3
mov esi, dword [edi + 8]
jmp 0x40e968
push 0x4585e0
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e908
mov esi, dword [edi + 0xc]
cmp esi, ebx
jle 0x40e968
and esi, 0xffff
or esi, 0x80070000
jmp 0x40e968
push 0x45864c
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e923
mov esi, dword [edi + 8]
or esi, 0xa0090000
jmp 0x40e968
push 0x45c45c
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e93e
mov esi, dword [edi + 8]
or esi, 0x10000000
jmp 0x40e968
push 0x457ea4
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40e955
mov esi, 0xa0080001
jmp 0x40e968
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
push dword [eax]
lea ecx, [ebp - 0x818]
call fcn.00409f30
mov eax, dword [ebp - 0x818]
cmp dword [eax - 0xc], ebx
jne 0x40e986
push str.installing
push esi
push dword [0x474b50]
call fcn.004131af
jmp 0x40e9bb
mov eax, dword [edi]
push ebx
push 0x400
lea ecx, [ebp - 0x810]
push ecx
mov ecx, edi
call dword [eax + 0xc]
test eax, eax
lea eax, [ebp - 0x810]
jne 0x40e9a9
mov eax, str.Generic_Exception
mov ecx, dword [0x474b50]
push eax
push dword [ebp - 0x818]
call fcn.00413169
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x818]
call fcn.00410215
push 0x457ec0
mov ecx, edi
call fcn.0042d2c8
test eax, eax
jne 0x40e9ea
push 0x45c45c
mov ecx, edi
call fcn.0042d2c8
test eax, eax
je 0x40ea59
mov eax, dword [edi]
push ebx
push 0x200
lea ecx, [ebp - 0x410]
push ecx
mov ecx, edi
call dword [eax + 0xc]
xor esi, esi
inc esi
test eax, eax
lea eax, [ebp - 0x814]
push eax
push 0x4749d8
je 0x40ea27
call fcn.0040db0d
mov dword [ebp - 4], esi
mov eax, dword [eax]
push 0x10
push eax
lea eax, [ebp - 0x410]
push eax
jmp 0x40ea3d
call fcn.0040db0d
mov dword [ebp - 4], 2
mov eax, dword [eax]
push 0x10
push eax
push str.Out_of_memory_
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x814]
call fcn.00410215
push esi
call fcn.0043a5fb
mov eax, dword [ebp - 0x81c]
xor esi, esi
inc esi
mov dword [eax + 0xa4], esi
mov dword [0x474a80], esi
mov esi, dword [0x4749f8]
call fcn.00408edb
cmp edi, ebx
je 0x40ea95
push dword [ebp - 0x820]
mov ecx, dword [ebp - 0x81c]
push edi
call fcn.0043287e
mov dword [ebp - 0x814], eax
mov eax, dword [ebp - 0x814]
call fcn.0043caac
ret 8