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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4429e6
mov eax, dword fs:[0]
push eax
sub esp, 0x2a8
mov eax, dword [0x4553d4]
xor eax, esp
mov dword [esp + 0x2a0], eax
push ebx
push esi
push edi
mov eax, dword [0x4553d4]
xor eax, esp
push eax
lea eax, [esp + 0x2b8]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov ebx, ecx
push 0x448a00
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], 0
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b1af
lea ebx, [ebx]
cmp dword [eax*8 + 0x456860], 1
je 0x40b195
inc eax
cmp eax, 0xe
jb 0x40b180
jmp 0x40b6fe
mov eax, dword [eax*8 + 0x456864]
lea ecx, [ebx + 4]
push eax
mov ebx, str.IIF_SETUPMODE
call fcn.00414ab0
jmp 0x40b6fe
push 0x4489fc
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b1f4
mov ecx, 6
cmp dword [eax*8 + 0x456860], ecx
je 0x40b1da
inc eax
cmp eax, 0xe
jb 0x40b1c6
jmp 0x40b6fe
mov ecx, dword [eax*8 + 0x456864]
push ecx
lea ecx, [ebx + 4]
mov ebx, str.IIF_SETUPMODE
call fcn.00414ab0
jmp 0x40b6fe
push 0x4489f8
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b20f
mov byte [ebx + 0x2c], 1
jmp 0x40b6fe
push str.drvsource
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b242
lea edi, [esp + 0xa4]
call fcn.00418340
mov edx, edi
lea ecx, [ebx + 4]
push edx
mov ebx, str.IIF_DRVFOLDER
call fcn.00414ab0
jmp 0x40b6fe
push 0x4489dc
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b28d
push ebx
lea ecx, [eax + 6]
call fcn.0040ca60
lea edi, [esp + 0xa4]
call fcn.00418340
mov ecx, edi
call fcn.004183b0
test al, al
je 0x40b47f
mov eax, edi
lea ecx, [ebx + 4]
push eax
mov ebx, str.IIF_INSTALLFOLDER
call fcn.00414ab0
jmp 0x40b6fe
push str.extract
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b2d8
push ebx
lea ecx, [eax + 2]
call fcn.0040ca60
lea edi, [esp + 0xa4]
call fcn.00418340
mov ecx, edi
call fcn.004183b0
test al, al
je 0x40b47f
mov ecx, edi
push ecx
lea ecx, [ebx + 4]
mov ebx, str.IIF_EXTRACTFOLDER
call fcn.00414ab0
jmp 0x40b6fe
push 0x4489c0
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b301
lea ecx, [ebx + 4]
push 0x4479b8
mov ebx, str.IIF_NOICC
call fcn.00414ab0
jmp 0x40b6fe
push 0x4489bc
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
je 0x40b6ea
push 0x44a3b0
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
je 0x40b6ea
push str.nodrv
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b369
lea esi, [ebx + 4]
push 0x4479b8
mov ebx, str.IIF_NODRV
mov ecx, esi
call fcn.00414ab0
push 0x4479b8
mov ebx, 0x4479bc
mov ecx, esi
call fcn.00414ab0
jmp 0x40b6fe
push str.noinstall
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b39b
push ebx
lea ecx, [eax + 3]
call fcn.0040ca60
lea ecx, [ebx + 4]
push 0x4479b8
mov ebx, str.IIF_NOINSTALL
call fcn.00414ab0
jmp 0x40b6fe
push 0x448938
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b414
lea edi, [esp + 0xa4]
call fcn.00418340
mov edx, edi
push edx
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
cmp word [eax], 0
je 0x40b3e6
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea ecx, [ebx + 0x84]
push ecx
call fcn.004034d0
mov edx, edi
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea ecx, [esp + 0xa4]
call fcn.004183b0
test al, al
je 0x40b47f
lea eax, [esp + 0xa4]
lea ecx, [ebx + 4]
push eax
mov ebx, 0x44a3b4
call fcn.00414ab0
jmp 0x40b6fe
push 0x448934
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
je 0x40b49e
push 0x44892c
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b44f
lea ecx, [ebx + 4]
push 0x4479b8
mov ebx, str.IIF_SIMULATE
call fcn.00414ab0
jmp 0x40b6fe
push 0x448948
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b48c
mov ecx, esi
call fcn.004183b0
test al, al
je 0x40b47f
lea ecx, [ebx + 4]
push esi
mov ebx, str.IIF_INSTALLFOLDER
call fcn.00414ab0
jmp 0x40b6fe
mov dword [esp + 0x14], 0x4e29
jmp 0x40b6fe
push 0x44a3ec
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b4b5
lea ecx, [ebx + 4]
push 0x4479b8
mov ebx, str.IIF_SILENT
call fcn.00414ab0
jmp 0x40b6fe
push 0x448910
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b4d5
push ebx
lea ecx, [eax + 4]
call fcn.0040ca60
jmp 0x40b6fe
push 0x44890c
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b58f
push esi
lea edi, [ebx + 4]
push edi
call fcn.00414cf0
test al, al
je 0x40b582
mov ebx, str.EXTRACTDRIVERS
call fcn.00414a70
test al, al
je 0x40b6fe
push ebx
call fcn.004149c0
lea ecx, [esp + 0x20]
call fcn.00404a00
mov dword [esp + 0x2c0], 0
cmp dword [esp + 0x34], 8
mov esi, dword [esp + 0x20]
jae 0x40b538
lea esi, [esp + 0x20]
lea edi, [esp + 0xa4]
call fcn.00418340
mov ecx, edi
call fcn.004183b0
test al, al
je 0x40b56c
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, 5
call fcn.0040ca60
lea esi, [esp + 0x20]
call fcn.00426860
jmp 0x40b6fe
lea esi, [esp + 0x20]
mov dword [esp + 0x14], 0x4e29
call fcn.00426860
jmp 0x40b6fe
mov dword [esp + 0x14], 0x667
jmp 0x40b6fe
push 0x44894c
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b5b8
lea ecx, [ebx + 4]
push 0x4479b8
mov ebx, str.IIF_OVERWRITE
call fcn.00414ab0
jmp 0x40b6fe
push str.repair
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b5d8
push ebx
lea ecx, [eax + 0xc]
call fcn.0040ca60
jmp 0x40b6fe
push 0x448918
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b5f8
push ebx
lea ecx, [eax + 0xd]
call fcn.0040ca60
jmp 0x40b6fe
push str.nooscheck
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b621
lea ecx, [ebx + 4]
push 0x4479b8
mov ebx, str.IIF_NOOSCHECK
call fcn.00414ab0
jmp 0x40b6fe
push str.nodncheck
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b64a
lea ecx, [ebx + 4]
push 0x4479b8
mov ebx, str.IIF_NODNCHECK
call fcn.00414ab0
jmp 0x40b6fe
push str.nohwcheck
push edi
call fcn.0042cfe5
add esp, 8
test eax, eax
jne 0x40b673
lea ecx, [ebx + 4]
push 0x4479b8
mov ebx, 0x4479bc
call fcn.00414ab0
jmp 0x40b6fe
lea eax, [esp + 0x3c]
call fcn.0041fc30
push edi
add ebx, 0x14
mov edi, eax
mov dword [esp + 0x2c4], 1
call fcn.0041ff00
mov edi, dword [esp + 0x1c]
lea esi, [esp + 0x3c]
call fcn.0041fe90
mov dword [esp + 0x14], eax
test eax, eax
jne 0x40b6df
cmp byte [esp + 0x58], 0
mov eax, 8
jne 0x40b6c4
mov edi, dword [esp + 0x78]
cmp dword [esp + 0x8c], eax
jae 0x40b6c4
lea edi, [esp + 0x78]
mov ebx, dword [esp + 0x5c]
cmp dword [esp + 0x70], eax
jae 0x40b6d2
lea ebx, [esp + 0x5c]
mov ecx, dword [esp + 0x18]
push edi
add ecx, 4
call fcn.00414ab0
lea esi, [esp + 0x3c]
call fcn.004042c0
jmp 0x40b6fe
push 0x10
push 0
push esi
call fcn.0042d802
add esp, 0xc
mov word [ebx + 0x144], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2a0]
xor ecx, esp
call fcn.0042c682
mov esp, ebp
pop ebp
ret 8