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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x443476
mov eax, dword fs:[0]
push eax
sub esp, 0x2a8
mov eax, dword [0x4563d4]
xor eax, esp
mov dword [esp + 0x2a0], eax
push ebx
push esi
push edi
mov eax, dword [0x4563d4]
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 0x449984
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], 0
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b10f
lea ebx, [ebx]
cmp dword [eax*8 + 0x457860], 1
je 0x40b0f5
inc eax
cmp eax, 0xe
jb 0x40b0e0
jmp 0x40b69a
mov eax, dword [eax*8 + 0x457864]
lea ecx, [ebx + 4]
push eax
mov ebx, str.IIF_SETUPMODE
call fcn.00413c30
jmp 0x40b69a
push 0x449980
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b154
mov ecx, 6
cmp dword [eax*8 + 0x457860], ecx
je 0x40b13a
inc eax
cmp eax, 0xe
jb 0x40b126
jmp 0x40b69a
mov ecx, dword [eax*8 + 0x457864]
push ecx
lea ecx, [ebx + 4]
mov ebx, str.IIF_SETUPMODE
call fcn.00413c30
jmp 0x40b69a
push 0x44997c
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b16f
mov byte [ebx + 0x2c], 1
jmp 0x40b69a
push str.drvsource
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b1a2
lea edi, [esp + 0xa4]
call fcn.004181c0
mov edx, edi
lea ecx, [ebx + 4]
push edx
mov ebx, str.IIF_DRVFOLDER
call fcn.00413c30
jmp 0x40b69a
push 0x449960
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b1ed
push ebx
lea ecx, [eax + 6]
call fcn.0040cb10
lea edi, [esp + 0xa4]
call fcn.004181c0
mov ecx, edi
call fcn.00418230
test al, al
je 0x40b3df
mov eax, edi
lea ecx, [ebx + 4]
push eax
mov ebx, str.IIF_INSTALLFOLDER
call fcn.00413c30
jmp 0x40b69a
push str.extract
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b238
push ebx
lea ecx, [eax + 2]
call fcn.0040cb10
lea edi, [esp + 0xa4]
call fcn.004181c0
mov ecx, edi
call fcn.00418230
test al, al
je 0x40b3df
mov ecx, edi
push ecx
lea ecx, [ebx + 4]
mov ebx, str.IIF_EXTRACTFOLDER
call fcn.00413c30
jmp 0x40b69a
push 0x449944
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b261
lea ecx, [ebx + 4]
push 0x448a3c
mov ebx, str.IIF_NOICC
call fcn.00413c30
jmp 0x40b69a
push 0x449940
push edi
call fcn.0042db75
add esp, 8
test eax, eax
je 0x40b686
push 0x44b310
push edi
call fcn.0042db75
add esp, 8
test eax, eax
je 0x40b686
push str.nodrv
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b2c9
lea esi, [ebx + 4]
push 0x448a3c
mov ebx, str.IIF_NODRV
mov ecx, esi
call fcn.00413c30
push 0x448a3c
mov ebx, 0x448a40
mov ecx, esi
call fcn.00413c30
jmp 0x40b69a
push str.noinstall
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b2fb
push ebx
lea ecx, [eax + 3]
call fcn.0040cb10
lea ecx, [ebx + 4]
push 0x448a3c
mov ebx, str.IIF_NOINSTALL
call fcn.00413c30
jmp 0x40b69a
push 0x4498bc
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b374
lea edi, [esp + 0xa4]
call fcn.004181c0
mov edx, edi
push edx
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
cmp word [eax], 0
je 0x40b346
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea ecx, [ebx + 0x84]
push ecx
call fcn.00403070
mov edx, edi
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea ecx, [esp + 0xa4]
call fcn.00418230
test al, al
je 0x40b3df
lea eax, [esp + 0xa4]
lea ecx, [ebx + 4]
push eax
mov ebx, 0x44b314
call fcn.00413c30
jmp 0x40b69a
push 0x4498b8
push edi
call fcn.0042db75
add esp, 8
test eax, eax
je 0x40b3fe
push 0x4498b0
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b3af
lea ecx, [ebx + 4]
push 0x448a3c
mov ebx, str.IIF_SIMULATE
call fcn.00413c30
jmp 0x40b69a
push 0x4498cc
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b3ec
mov ecx, esi
call fcn.00418230
test al, al
je 0x40b3df
lea ecx, [ebx + 4]
push esi
mov ebx, str.IIF_INSTALLFOLDER
call fcn.00413c30
jmp 0x40b69a
mov dword [esp + 0x14], 0x4e29
jmp 0x40b69a
push 0x44b34c
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b415
lea ecx, [ebx + 4]
push 0x448a3c
mov ebx, str.IIF_SILENT
call fcn.00413c30
jmp 0x40b69a
push 0x449894
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b435
push ebx
lea ecx, [eax + 4]
call fcn.0040cb10
jmp 0x40b69a
push 0x449890
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b4ef
push esi
lea edi, [ebx + 4]
push edi
call fcn.00413dd0
test al, al
je 0x40b4e2
mov ebx, str.EXTRACTDRIVERS
call fcn.00413bf0
test al, al
je 0x40b69a
push ebx
call fcn.00413b40
lea ecx, [esp + 0x20]
call fcn.004048b0
mov dword [esp + 0x2c0], 0
cmp dword [esp + 0x34], 8
mov esi, dword [esp + 0x20]
jae 0x40b498
lea esi, [esp + 0x20]
lea edi, [esp + 0xa4]
call fcn.004181c0
mov ecx, edi
call fcn.00418230
test al, al
je 0x40b4cc
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, 5
call fcn.0040cb10
lea esi, [esp + 0x20]
call fcn.00427180
jmp 0x40b69a
lea esi, [esp + 0x20]
mov dword [esp + 0x14], 0x4e29
call fcn.00427180
jmp 0x40b69a
mov dword [esp + 0x14], 0x667
jmp 0x40b69a
push 0x4498d0
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b518
lea ecx, [ebx + 4]
push 0x448a3c
mov ebx, str.IIF_OVERWRITE
call fcn.00413c30
jmp 0x40b69a
push str.repair
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b538
push ebx
lea ecx, [eax + 0xc]
call fcn.0040cb10
jmp 0x40b69a
push 0x44989c
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b558
push ebx
lea ecx, [eax + 0xd]
call fcn.0040cb10
jmp 0x40b69a
push str.nooscheck
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b581
lea ecx, [ebx + 4]
push 0x448a3c
mov ebx, str.IIF_NOOSCHECK
call fcn.00413c30
jmp 0x40b69a
push str.nodncheck
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b5aa
lea ecx, [ebx + 4]
push 0x448a3c
mov ebx, str.IIF_NODNCHECK
call fcn.00413c30
jmp 0x40b69a
push str.nohwcheck
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b5d3
lea ecx, [ebx + 4]
push 0x448a3c
mov ebx, 0x448a40
call fcn.00413c30
jmp 0x40b69a
push str.fresh
push edi
call fcn.0042db75
add esp, 8
test eax, eax
jne 0x40b60f
lea esi, [ebx + 4]
push 0x448a3c
mov ebx, str.IIF_FRESH
mov ecx, esi
call fcn.00413c30
push 0x448a3c
mov ebx, str.IIF_OVERWRITE
mov ecx, esi
call fcn.00413c30
jmp 0x40b69a
lea eax, [esp + 0x3c]
call fcn.00420440
push edi
add ebx, 0x14
mov edi, eax
mov dword [esp + 0x2c4], 1
call fcn.00420710
mov edi, dword [esp + 0x1c]
lea esi, [esp + 0x3c]
call fcn.004206a0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x40b67b
cmp byte [esp + 0x58], 0
mov eax, 8
jne 0x40b660
mov edi, dword [esp + 0x78]
cmp dword [esp + 0x8c], eax
jae 0x40b660
lea edi, [esp + 0x78]
mov ebx, dword [esp + 0x5c]
cmp dword [esp + 0x70], eax
jae 0x40b66e
lea ebx, [esp + 0x5c]
mov ecx, dword [esp + 0x18]
push edi
add ecx, 4
call fcn.00413c30
lea esi, [esp + 0x3c]
call fcn.004041a0
jmp 0x40b69a
push 0x10
push 0
push esi
call fcn.0042e3be
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.0042d215
mov esp, ebp
pop ebp
ret 8