Function at 0x40e0a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4aef17
mov eax, dword fs:[0]
push eax
sub esp, 0x100
mov eax, dword [0x4d25ac]
xor eax, esp
mov dword [esp + 0xf8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d25ac]
xor eax, esp
push eax
lea eax, [esp + 0x114]
mov dword fs:[0], eax
mov eax, dword [esp + 0x124]
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x30], eax
call fcn.00409fc0
xor edi, edi
mov dword [esp + 0x11c], edi
xor edx, edx
push 0x21
mov eax, str.SOFTWAREMozillaMozilla_Firefox_
lea esi, [esp + 0x74]
mov dword [esp + 0x8c], 7
mov dword [esp + 0x88], edi
mov word [esp + 0x78], dx
call fcn.00401f30
mov byte [esp + 0x11c], 1
cmp dword [esp + 0x88], 8
mov ecx, dword [esp + 0x74]
jae 0x40e13c
lea ecx, [esp + 0x74]
push reloc.OLEAUT32.dll_SysReAllocString
lea edx, [esp + 0x18]
call fcn.00409e00
mov esi, dword [esp + 0x24]
add esp, 4
cmp esi, dword [esp + 0x24]
jbe 0x40e15c
call fcn.00492a5a
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], ebx
mov ebp, esi
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x20], esi
jbe 0x40e175
call fcn.00492a5a
cmp ebx, edi
je 0x40e17f
cmp ebx, dword [esp + 0x14]
je 0x40e184
call fcn.00492a5a
cmp ebp, esi
je 0x40e3e9
xor eax, eax
push 0xffffffffffffffff
mov word [esp + 0x94], ax
push edi
lea eax, [esp + 0x78]
lea ecx, [esp + 0x94]
mov dword [esp + 0xac], 7
mov dword [esp + 0xa8], edi
call fcn.00401c20
mov byte [esp + 0x11c], 2
cmp ebx, edi
jne 0x40e3de
call fcn.00492a5a
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x40e1dc
call fcn.00492a5a
push edi
push ebp
or eax, 0xffffffff
lea esi, [esp + 0x94]
call fcn.00403510
push 5
mov eax, str.Main
mov ecx, esi
call fcn.00403430
push 1
mov ecx, esi
push ecx
lea edx, [esp + 0xcc]
push edx
mov edx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00409140
mov byte [esp + 0x11c], 3
xor eax, eax
mov word [esp + 0x58], ax
mov ebx, 7
push edi
mov eax, 0x4b49f8
lea esi, [esp + 0x58]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], edi
call fcn.00401f30
mov byte [esp + 0x11c], 4
xor ecx, ecx
push 0x11
mov eax, str.Install_Directory
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], edi
mov word [esp + 0x40], cx
call fcn.00401f30
lea edx, [esp + 0xc4]
push edx
lea ecx, [esp + 0x58]
mov edx, esi
lea ebx, [esp + 0xac]
mov byte [esp + 0x120], 5
call fcn.00409490
mov ebx, 8
cmp dword [esp + 0x50], ebx
jb 0x40e29e
mov eax, dword [esp + 0x3c]
push eax
call fcn.00491101
add esp, 4
mov esi, 7
xor ecx, ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], edi
mov word [esp + 0x3c], cx
mov byte [esp + 0x11c], bl
cmp dword [esp + 0x6c], ebx
jb 0x40e2cc
mov edx, dword [esp + 0x58]
push edx
call fcn.00491101
add esp, 4
xor eax, eax
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], edi
mov word [esp + 0x58], ax
cmp dword [esp + 0xbc], edi
je 0x40e2fa
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0xa8]
push ecx
call fcn.0040a070
mov ebx, 8
cmp dword [esp + 0xc0], ebx
jb 0x40e313
mov edx, dword [esp + 0xac]
push edx
call fcn.00491101
add esp, 4
xor eax, eax
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], edi
mov word [esp + 0xac], ax
mov dword [esp + 0xc4], vtable.CRegistry.0
cmp dword [esp + 0x100], ebx
jb 0x40e34f
mov ecx, dword [esp + 0xec]
push ecx
call fcn.00491101
add esp, 4
xor edx, edx
mov dword [esp + 0x100], esi
mov dword [esp + 0xfc], edi
mov word [esp + 0xec], dx
cmp dword [esp + 0xe0], ebx
jb 0x40e380
mov eax, dword [esp + 0xcc]
push eax
call fcn.00491101
add esp, 4
xor ecx, ecx
mov byte [esp + 0x11c], 1
mov dword [esp + 0xe0], esi
mov dword [esp + 0xdc], edi
mov word [esp + 0xcc], cx
cmp dword [esp + 0xa4], ebx
jb 0x40e3b9
mov edx, dword [esp + 0x90]
push edx
call fcn.00491101
add esp, 4
mov eax, dword [esp + 0x30]
cmp eax, edi
jne 0x40e3e5
call fcn.00492a5a
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x40e3d2
call fcn.00492a5a
mov ebx, dword [esp + 0x30]
add ebp, 0x1c
jmp 0x40e166
mov eax, dword [ebx]
jmp 0x40e1d2
mov eax, dword [eax]
jmp 0x40e3c8
cmp dword [esp + 0x88], 8
jb 0x40e400
mov eax, dword [esp + 0x74]
push eax
call fcn.00491101
add esp, 4
mov esi, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], cx
cmp esi, edi
je 0x40e467
mov ebx, dword [esp + 0x24]
cmp esi, ebx
je 0x40e45a
add esi, 0x18
lea esp, [esp]
cmp dword [esi], 8
jb 0x40e441
mov edx, dword [esi - 0x14]
push edx
call fcn.00491101
add esp, 4
xor eax, eax
mov dword [esi], 7
mov dword [esi - 4], edi
mov word [esi - 0x14], ax
add esi, 0x1c
lea ecx, [esi - 0x18]
cmp ecx, ebx
jne 0x40e430
mov edx, dword [esp + 0x20]
push edx
call fcn.00491101
add esp, 4
mov eax, dword [esp + 0x14]
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
call fcn.00491101
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x114]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xf8]
xor ecx, esp
call fcn.0049110c
add esp, 0x10c
ret 4