Function at 0x459ca0
Capabilities:
Get common file path
Get program files directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d6382
mov eax, dword fs:[0]
push eax
sub esp, 0x27c
mov eax, dword [0x65a000]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x284], ebx
xor eax, eax
mov dword [ebp - 0x238], 7
mov dword [ebp - 0x23c], 0
mov word [ebp - 0x24c], ax
mov dword [ebp - 4], eax
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], eax
mov word [ebp - 0x230], ax
push 0x206
mov byte [ebp - 4], 1
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.005a7690
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
cmp word [ebp - 0x218], 0
jne 0x459d5c
xor ecx, ecx
jmp 0x459d74
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x459d65
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x24c]
call fcn.004058d0
push 3
xor eax, eax
push 0x60f994
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.004058d0
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x268]
lea esi, [ebx + 0x1c]
push eax
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00407490
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x459ded
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
lea eax, [ebp - 0x218]
push eax
push str.CInfoMgr::InitializePath__MSetup.exe_CurrentPath_:_s
push 0xffffffffffffffff
push 0x1000
push 0x6fb428
call fcn.005a4e29
add esp, 0x14
push 0x6fb428
call fcn.00415fc0
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x280]
call fcn.004658b0
add esp, 4
push str.Msetup4.ini
mov edx, eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 3
call fcn.00406060
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x459e92
cmp dword [ebp - 0x21c], 8
jb 0x459e69
push dword [ebp - 0x230]
call fcn.0048166b
add esp, 4
xor eax, eax
push edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.004053e0
cmp dword [ebp - 0x254], 8
jb 0x459ea9
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
jb 0x459ee1
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
push 3
xor eax, eax
push 0x60e1b0
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.004058d0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00407490
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x459f44
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push str.CInfoMgr::InitializePath__Msetup4.ini_Path_:_s
push 0xffffffffffffffff
push 0x1000
push 0x6fb428
call fcn.005a4e29
add esp, 0x14
push 0x6fb428
call fcn.00415fc0
push 3
xor eax, eax
push 0x60e1b0
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.004058d0
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 5
mov ecx, dword [0x6fb010]
push eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ecx + 0x1c]
call fcn.00406e30
mov byte [ebp - 4], 6
mov ecx, dword [0x6fb010]
push eax
lea ecx, [ecx + 0x2c]
call fcn.00411b00
cmp dword [ebp - 0x26c], 8
jb 0x459ff5
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
jb 0x45a02d
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004658b0
add esp, 4
push str.Language.ini
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 7
call fcn.00406060
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x45a0a8
cmp dword [ebp - 0x21c], 8
jb 0x45a07f
push dword [ebp - 0x230]
call fcn.0048166b
add esp, 4
xor eax, eax
push edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.004053e0
cmp dword [ebp - 0x26c], 8
jb 0x45a0bf
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
jb 0x45a0f7
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push 8
xor eax, eax
push str.LANG_INI
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.004058d0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00407490
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x45a15a
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004658b0
add esp, 4
push 0x61218c
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 9
call fcn.00406060
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x45a1d5
cmp dword [ebp - 0x21c], 8
jb 0x45a1ac
push dword [ebp - 0x230]
call fcn.0048166b
add esp, 4
xor eax, eax
push edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.004053e0
cmp dword [ebp - 0x26c], 8
jb 0x45a1ec
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
jb 0x45a224
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push 3
xor eax, eax
push 0x61218c
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.004058d0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.00407490
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x45a287
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004658b0
add esp, 4
push str.RESBitmap
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0xb
call fcn.00406060
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x45a302
cmp dword [ebp - 0x21c], 8
jb 0x45a2d9
push dword [ebp - 0x230]
call fcn.0048166b
add esp, 4
xor eax, eax
push edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.004053e0
cmp dword [ebp - 0x26c], 8
jb 0x45a319
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
jb 0x45a351
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push 6
xor eax, eax
push str.BITMAP
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.004058d0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.00407490
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x45a3b4
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004658b0
add esp, 4
push str.RESANIME
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0xd
call fcn.00406060
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x45a42f
cmp dword [ebp - 0x21c], 8
jb 0x45a406
push dword [ebp - 0x230]
call fcn.0048166b
add esp, 4
xor eax, eax
push edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.004053e0
cmp dword [ebp - 0x26c], 8
jb 0x45a446
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
jb 0x45a47e
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push 0x614d18
lea ecx, [ebp - 0x280]
call fcn.004051f0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xe
call fcn.00407490
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
jb 0x45a4c2
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004658b0
add esp, 4
push str.RESM
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0xf
call fcn.00406060
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x45a53d
cmp dword [ebp - 0x21c], 8
jb 0x45a514
push dword [ebp - 0x230]
call fcn.0048166b
add esp, 4
xor eax, eax
push edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.004053e0
cmp dword [ebp - 0x26c], 8
jb 0x45a554
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
jb 0x45a58c
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push str.RES_MODEL
lea ecx, [ebp - 0x280]
call fcn.004051f0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.00407490
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
jb 0x45a5d0
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea eax, [ebp - 0x250]
push eax
push 0x26
push 0
mov dword [ebp - 0x250], 0
call edi
mov ebx, dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
js 0x45a606
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x250]
call ebx
push dword [ebp - 0x250]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.004051f0
push str.PROGRAMFILES
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x11
call fcn.004051f0
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.00407490
cmp dword [ebp - 0x254], 8
jb 0x45a668
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
jb 0x45a6a0
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
lea eax, [ebp - 0x250]
push eax
push 0x2a
push 0
mov dword [ebp - 0x250], 0
call edi
test eax, eax
js 0x45a6ca
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x250]
call ebx
push dword [ebp - 0x250]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.004051f0
push str.PROGRAMFILES_X86
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x13
call fcn.004051f0
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x14
call fcn.00407490
cmp dword [ebp - 0x254], 8
jb 0x45a72c
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
jb 0x45a764
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
lea eax, [ebp - 0x250]
push eax
push 0x1a
push 0
mov dword [ebp - 0x250], 0
call edi
test eax, eax
js 0x45a78e
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x250]
call ebx
push dword [ebp - 0x250]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.004051f0
push str.APPDATA
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x15
call fcn.004051f0
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x16
call fcn.00407490
cmp dword [ebp - 0x254], 8
jb 0x45a7f0
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
jb 0x45a828
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
lea eax, [ebp - 0x250]
push eax
xor edi, edi
push 0x23
push edi
mov dword [ebp - 0x250], edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
js 0x45a855
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x250]
call ebx
mov edi, eax
push dword [ebp - 0x250]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.004051f0
push str.COMMON_APPDATA
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x17
call fcn.004051f0
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x18
call fcn.00407490
cmp dword [ebp - 0x254], 8
jb 0x45a8b7
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
jb 0x45a8ef
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
mov ebx, dword [ebp - 0x284]
lea eax, [ebp - 0x24c]
push eax
mov ecx, ebx
call fcn.0045ada0
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x218]
push eax
push str.open
push str.http
push 2
push 0
mov dword [ebp - 0x234], 0x104
call dword [sym.imp.SHLWAPI.dll_AssocQueryStringW]
test eax, eax
js 0x45a93c
cmp dword [ebp - 0x234], 0
jne 0x45a93e
xor edi, edi
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.004051f0
push str.BROWSER
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x19
call fcn.004051f0
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1a
call fcn.00407490
cmp dword [ebp - 0x254], 8
jb 0x45a994
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
jb 0x45a9cc
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
push str.SOFTWARECANON
lea ecx, [ebp - 0x280]
call fcn.004051f0
push str.CANON_REG
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x1b
call fcn.004051f0
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1c
call fcn.00407490
cmp dword [ebp - 0x254], 8
jb 0x45aa20
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
jb 0x45aa58
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
push str.SOFTWARECANON
lea ecx, [ebp - 0x280]
call fcn.004051f0
push str.CANON_REG_X86
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x1d
call fcn.004051f0
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1e
call fcn.00407490
cmp dword [ebp - 0x254], 8
jb 0x45aaac
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
jb 0x45aae4
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
push 0x16
push str.SOFTWARECANONMSETUP4
lea ecx, [ebp - 0x230]
call fcn.004058d0
push 1
push 0x618734
lea ecx, [ebp - 0x230]
call fcn.004057a0
push str.VOLUMELABEL
lea ecx, [ebp - 0x268]
call fcn.004051f0
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 0x1f
call fcn.00406e30
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x20
call fcn.00405690
cmp dword [ebp - 0x26c], 8
jb 0x45ab5d
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
jb 0x45ab95
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push str.PARAM_REG
lea ecx, [ebp - 0x280]
call fcn.004051f0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x21
call fcn.00407490
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
jb 0x45abd9
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
push 0x16
push str.SOFTWARECANONMSETUP4
lea ecx, [ebp - 0x230]
call fcn.004058d0
push 1
push 0x618734
lea ecx, [ebp - 0x230]
call fcn.004057a0
push str.VOLUMELABEL
lea ecx, [ebp - 0x268]
call fcn.004051f0
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 0x22
call fcn.00406e30
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x23
call fcn.00405690
cmp dword [ebp - 0x26c], 8
jb 0x45ac52
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov dword [ebp - 0x26c], 7
mov dword [ebp - 0x270], 0
mov word [ebp - 0x280], ax
jb 0x45ac8a
push dword [ebp - 0x268]
call fcn.0048166b
add esp, 4
push str.PARAM_REG_X86
lea ecx, [ebp - 0x280]
call fcn.004051f0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x24
call fcn.00407490
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
jb 0x45acce
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
push 0x16
push str.SOFTWARECANONMSETUP4
lea ecx, [ebp - 0x230]
call fcn.004058d0
push 0xd
push str.LatestDevice
lea ecx, [ebp - 0x230]
call fcn.004057a0
push str.LATEST_DEVICE_REG
lea ecx, [ebp - 0x280]
call fcn.004051f0
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x25
call fcn.00407490
cmp dword [ebp - 0x26c], 8
jb 0x45ad32
push dword [ebp - 0x280]
call fcn.0048166b
add esp, 4
cmp dword [ebp - 0x21c], 8
jb 0x45ad49
push dword [ebp - 0x230]
call fcn.0048166b
add esp, 4
xor eax, eax
cmp dword [ebp - 0x238], 8
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
jb 0x45ad7d
push dword [ebp - 0x24c]
call fcn.0048166b
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005a4646
mov esp, ebp
pop ebp
ret