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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x444596
mov eax, dword fs:[0]
push eax
sub esp, 0x2a8
mov eax, dword [0x4563e4]
xor eax, esp
mov dword [esp + 0x2a0], eax
push ebx
push esi
push edi
mov eax, dword [0x4563e4]
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 0x4497f0
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], 0
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40b97f
lea ebx, [ebx]
cmp dword [eax*8 + 0x457990], 1
je 0x40b965
inc eax
cmp eax, 0xe
jb 0x40b950
jmp 0x40bece
mov eax, dword [eax*8 + 0x457994]
lea ecx, [ebx + 4]
push eax
mov ebx, str.IIF_SETUPMODE
call fcn.00416670
jmp 0x40bece
push 0x4497ec
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40b9c4
mov ecx, 6
cmp dword [eax*8 + 0x457990], ecx
je 0x40b9aa
inc eax
cmp eax, 0xe
jb 0x40b996
jmp 0x40bece
mov ecx, dword [eax*8 + 0x457994]
push ecx
lea ecx, [ebx + 4]
mov ebx, str.IIF_SETUPMODE
call fcn.00416670
jmp 0x40bece
push 0x4497e8
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40b9df
mov byte [ebx + 0x2c], 1
jmp 0x40bece
push str.drvsource
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40ba12
lea edi, [esp + 0xa4]
call fcn.00421ce0
mov edx, edi
lea ecx, [ebx + 4]
push edx
mov ebx, str.IIF_DRVFOLDER
call fcn.00416670
jmp 0x40bece
push 0x4497cc
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40ba5d
push ebx
lea ecx, [eax + 6]
call fcn.0040d1a0
lea edi, [esp + 0xa4]
call fcn.00421ce0
mov ecx, edi
call fcn.00421d50
test al, al
je 0x40bc4f
mov eax, edi
lea ecx, [ebx + 4]
push eax
mov ebx, str.IIF_INSTALLFOLDER
call fcn.00416670
jmp 0x40bece
push str.extract
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40baa8
push ebx
lea ecx, [eax + 2]
call fcn.0040d1a0
lea edi, [esp + 0xa4]
call fcn.00421ce0
mov ecx, edi
call fcn.00421d50
test al, al
je 0x40bc4f
mov ecx, edi
push ecx
lea ecx, [ebx + 4]
mov ebx, str.IIF_EXTRACTFOLDER
call fcn.00416670
jmp 0x40bece
push 0x4497b0
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bad1
lea ecx, [ebx + 4]
push 0x4493f8
mov ebx, str.IIF_NOICC
call fcn.00416670
jmp 0x40bece
push 0x4497ac
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
je 0x40beba
push 0x44b200
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
je 0x40beba
push str.nodrv
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bb39
lea esi, [ebx + 4]
push 0x4493f8
mov ebx, 0x44b204
mov ecx, esi
call fcn.00416670
push 0x4493f8
mov ebx, str.IIF_SKIPHWCHECK
mov ecx, esi
call fcn.00416670
jmp 0x40bece
push str.noinstall
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bb6b
push ebx
lea ecx, [eax + 3]
call fcn.0040d1a0
lea ecx, [ebx + 4]
push 0x4493f8
mov ebx, str.IIF_NOINSTALL
call fcn.00416670
jmp 0x40bece
push 0x449728
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bbe4
lea edi, [esp + 0xa4]
call fcn.00421ce0
mov edx, edi
push edx
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
cmp word [eax], 0
je 0x40bbb6
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea ecx, [ebx + 0x84]
push ecx
call fcn.00402b40
mov edx, edi
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea ecx, [esp + 0xa4]
call fcn.00421d50
test al, al
je 0x40bc4f
lea eax, [esp + 0xa4]
lea ecx, [ebx + 4]
push eax
mov ebx, str.IIF_LOGFOLDER
call fcn.00416670
jmp 0x40bece
push 0x449724
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
je 0x40bc6e
push 0x44971c
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bc1f
lea ecx, [ebx + 4]
push 0x4493f8
mov ebx, str.IIF_SIMULATE
call fcn.00416670
jmp 0x40bece
push 0x449738
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bc5c
mov ecx, esi
call fcn.00421d50
test al, al
je 0x40bc4f
lea ecx, [ebx + 4]
push esi
mov ebx, str.IIF_INSTALLFOLDER
call fcn.00416670
jmp 0x40bece
mov dword [esp + 0x14], 0x4e29
jmp 0x40bece
push 0x44b250
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bc85
lea ecx, [ebx + 4]
push 0x4493f8
mov ebx, str.IIF_SILENT
call fcn.00416670
jmp 0x40bece
push 0x449700
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bca5
push ebx
lea ecx, [eax + 4]
call fcn.0040d1a0
jmp 0x40bece
push 0x4496fc
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bd5f
push esi
lea edi, [ebx + 4]
push edi
call fcn.004168b0
test al, al
je 0x40bd52
mov ebx, str.EXTRACTDRIVERS
call fcn.00416630
test al, al
je 0x40bece
push ebx
call fcn.00416580
lea ecx, [esp + 0x20]
call fcn.004134c0
mov dword [esp + 0x2c0], 0
cmp dword [esp + 0x34], 8
mov esi, dword [esp + 0x20]
jae 0x40bd08
lea esi, [esp + 0x20]
lea edi, [esp + 0xa4]
call fcn.00421ce0
mov ecx, edi
call fcn.00421d50
test al, al
je 0x40bd3c
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, 5
call fcn.0040d1a0
lea esi, [esp + 0x20]
call fcn.00429590
jmp 0x40bece
lea esi, [esp + 0x20]
mov dword [esp + 0x14], 0x4e29
call fcn.00429590
jmp 0x40bece
mov dword [esp + 0x14], 0x667
jmp 0x40bece
push 0x44973c
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bd88
lea ecx, [ebx + 4]
push 0x4493f8
mov ebx, str.IIF_OVERWRITE
call fcn.00416670
jmp 0x40bece
push str.repair
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bda8
push ebx
lea ecx, [eax + 0xc]
call fcn.0040d1a0
jmp 0x40bece
push 0x449708
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bdc8
push ebx
lea ecx, [eax + 0xd]
call fcn.0040d1a0
jmp 0x40bece
push str.nooscheck
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40bdf1
lea ecx, [ebx + 4]
push 0x4493f8
mov ebx, str.IIF_NOOSCHECK
call fcn.00416670
jmp 0x40bece
push str.nodncheck
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40be1a
lea ecx, [ebx + 4]
push 0x4493f8
mov ebx, str.IIF_NODNCHECK
call fcn.00416670
jmp 0x40bece
push str.nohwcheck
push edi
call fcn.0042f0d0
add esp, 8
test eax, eax
jne 0x40be43
lea ecx, [ebx + 4]
push 0x4493f8
mov ebx, str.IIF_SKIPHWCHECK
call fcn.00416670
jmp 0x40bece
lea eax, [esp + 0x3c]
call fcn.00422f60
push edi
add ebx, 0x14
mov edi, eax
mov dword [esp + 0x2c4], 1
call fcn.00423230
mov edi, dword [esp + 0x1c]
lea esi, [esp + 0x3c]
call fcn.004231c0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x40beaf
cmp byte [esp + 0x58], 0
mov eax, 8
jne 0x40be94
mov edi, dword [esp + 0x78]
cmp dword [esp + 0x8c], eax
jae 0x40be94
lea edi, [esp + 0x78]
mov ebx, dword [esp + 0x5c]
cmp dword [esp + 0x70], eax
jae 0x40bea2
lea ebx, [esp + 0x5c]
mov ecx, dword [esp + 0x18]
push edi
add ecx, 4
call fcn.00416670
lea esi, [esp + 0x3c]
call fcn.00403990
jmp 0x40bece
push 0x10
push 0
push esi
call fcn.0042fc5b
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.0042ee49
mov esp, ebp
pop ebp
ret 8