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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ec632
mov eax, dword fs:[0]
push eax
sub esp, 0x27c
mov eax, dword [0x677000]
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.005bb1c0
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 0x4692ec
xor ecx, ecx
jmp 0x469304
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4692f5
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00406400
push 3
xor eax, eax
push 0x626dbc
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.00406400
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.00409f70
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x46937d
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
lea eax, [ebp - 0x218]
push eax
push str.CInfoMgr::InitializePath__MSetup.exe_CurrentPath_:_s
push 0xffffffffffffffff
push 0x1000
push 0x74e818
call fcn.005b8769
add esp, 0x14
push 0x74e818
call fcn.00418730
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x280]
call fcn.004751f0
add esp, 4
push str.Msetup4.ini
mov edx, eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 3
call fcn.00406b90
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x469422
cmp dword [ebp - 0x21c], 8
jb 0x4693f9
push dword [ebp - 0x230]
call fcn.0049500b
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.00405f10
cmp dword [ebp - 0x254], 8
jb 0x469439
push dword [ebp - 0x268]
call fcn.0049500b
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 0x469471
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
push 3
xor eax, eax
push 0x624350
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.00406400
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00409f70
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x4694d4
push dword [ebp - 0x268]
call fcn.0049500b
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 0x74e818
call fcn.005b8769
add esp, 0x14
push 0x74e818
call fcn.00418730
push 3
xor eax, eax
push 0x624350
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.00406400
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 5
mov ecx, dword [0x74e2f4]
push eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ecx + 0x1c]
call fcn.00409910
mov byte [ebp - 4], 6
mov ecx, dword [0x74e2f4]
push eax
lea ecx, [ecx + 0x2c]
call fcn.00414270
cmp dword [ebp - 0x26c], 8
jb 0x469585
push dword [ebp - 0x280]
call fcn.0049500b
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 0x4695bd
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004751f0
add esp, 4
push str.Language.ini
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 7
call fcn.00406b90
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x469638
cmp dword [ebp - 0x21c], 8
jb 0x46960f
push dword [ebp - 0x230]
call fcn.0049500b
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.00405f10
cmp dword [ebp - 0x26c], 8
jb 0x46964f
push dword [ebp - 0x280]
call fcn.0049500b
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 0x469687
push dword [ebp - 0x268]
call fcn.0049500b
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.00406400
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00409f70
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x4696ea
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004751f0
add esp, 4
push 0x6295b4
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 9
call fcn.00406b90
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x469765
cmp dword [ebp - 0x21c], 8
jb 0x46973c
push dword [ebp - 0x230]
call fcn.0049500b
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.00405f10
cmp dword [ebp - 0x26c], 8
jb 0x46977c
push dword [ebp - 0x280]
call fcn.0049500b
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 0x4697b4
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
push 3
xor eax, eax
push 0x6295b4
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x258], 0
mov word [ebp - 0x268], ax
call fcn.00406400
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.00409f70
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x469817
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004751f0
add esp, 4
push str.RESBitmap
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0xb
call fcn.00406b90
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x469892
cmp dword [ebp - 0x21c], 8
jb 0x469869
push dword [ebp - 0x230]
call fcn.0049500b
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.00405f10
cmp dword [ebp - 0x26c], 8
jb 0x4698a9
push dword [ebp - 0x280]
call fcn.0049500b
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 0x4698e1
push dword [ebp - 0x268]
call fcn.0049500b
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.00406400
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.00409f70
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
jb 0x469944
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004751f0
add esp, 4
push str.RESANIME
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0xd
call fcn.00406b90
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x4699bf
cmp dword [ebp - 0x21c], 8
jb 0x469996
push dword [ebp - 0x230]
call fcn.0049500b
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.00405f10
cmp dword [ebp - 0x26c], 8
jb 0x4699d6
push dword [ebp - 0x280]
call fcn.0049500b
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 0x469a0e
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
push 0x62c580
lea ecx, [ebp - 0x280]
call fcn.00405d00
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xe
call fcn.00409f70
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
jb 0x469a52
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
push 0x5c
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x268]
call fcn.004751f0
add esp, 4
push str.RESM
mov edx, eax
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0xf
call fcn.00406b90
mov edi, eax
lea eax, [ebp - 0x230]
add esp, 4
cmp eax, edi
je 0x469acd
cmp dword [ebp - 0x21c], 8
jb 0x469aa4
push dword [ebp - 0x230]
call fcn.0049500b
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.00405f10
cmp dword [ebp - 0x26c], 8
jb 0x469ae4
push dword [ebp - 0x280]
call fcn.0049500b
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 0x469b1c
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
push str.RES_MODEL
lea ecx, [ebp - 0x280]
call fcn.00405d00
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.00409f70
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
jb 0x469b60
push dword [ebp - 0x280]
call fcn.0049500b
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 0x469b96
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x250]
call ebx
push dword [ebp - 0x250]
call dword [sym.imp.SHELL32.dll_ILFree]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.00405d00
push str.PROGRAMFILES
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x11
call fcn.00405d00
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.00409f70
cmp dword [ebp - 0x254], 8
jb 0x469bf8
push dword [ebp - 0x268]
call fcn.0049500b
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 0x469c30
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
lea eax, [ebp - 0x250]
push eax
push 0x2a
push 0
mov dword [ebp - 0x250], 0
call edi
test eax, eax
js 0x469c5a
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x250]
call ebx
push dword [ebp - 0x250]
call dword [sym.imp.SHELL32.dll_ILFree]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.00405d00
push str.PROGRAMFILES_X86
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x13
call fcn.00405d00
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x14
call fcn.00409f70
cmp dword [ebp - 0x254], 8
jb 0x469cbc
push dword [ebp - 0x268]
call fcn.0049500b
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 0x469cf4
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
lea eax, [ebp - 0x250]
push eax
push 0x1a
push 0
mov dword [ebp - 0x250], 0
call edi
test eax, eax
js 0x469d1e
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x250]
call ebx
push dword [ebp - 0x250]
call dword [sym.imp.SHELL32.dll_ILFree]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.00405d00
push str.APPDATA
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x15
call fcn.00405d00
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x16
call fcn.00409f70
cmp dword [ebp - 0x254], 8
jb 0x469d80
push dword [ebp - 0x268]
call fcn.0049500b
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 0x469db8
push dword [ebp - 0x280]
call fcn.0049500b
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 0x469de5
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x250]
call ebx
mov edi, eax
push dword [ebp - 0x250]
call dword [sym.imp.SHELL32.dll_ILFree]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.00405d00
push str.COMMON_APPDATA
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x17
call fcn.00405d00
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x18
call fcn.00409f70
cmp dword [ebp - 0x254], 8
jb 0x469e47
push dword [ebp - 0x268]
call fcn.0049500b
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 0x469e7f
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
mov ebx, dword [ebp - 0x284]
lea eax, [ebp - 0x24c]
push eax
mov ecx, ebx
call fcn.0046a330
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 0x469ecc
cmp dword [ebp - 0x234], 0
jne 0x469ece
xor edi, edi
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
call fcn.00405d00
push str.BROWSER
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x19
call fcn.00405d00
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1a
call fcn.00409f70
cmp dword [ebp - 0x254], 8
jb 0x469f24
push dword [ebp - 0x268]
call fcn.0049500b
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 0x469f5c
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
push str.SOFTWARECANON
lea ecx, [ebp - 0x280]
call fcn.00405d00
push str.CANON_REG
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x1b
call fcn.00405d00
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1c
call fcn.00409f70
cmp dword [ebp - 0x254], 8
jb 0x469fb0
push dword [ebp - 0x268]
call fcn.0049500b
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 0x469fe8
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
push str.SOFTWARECANON
lea ecx, [ebp - 0x280]
call fcn.00405d00
push str.CANON_REG_X86
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x1d
call fcn.00405d00
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1e
call fcn.00409f70
cmp dword [ebp - 0x254], 8
jb 0x46a03c
push dword [ebp - 0x268]
call fcn.0049500b
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 0x46a074
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
push 0x16
push str.SOFTWARECANONMSETUP4
lea ecx, [ebp - 0x230]
call fcn.00406400
push 1
push 0x630b1c
lea ecx, [ebp - 0x230]
call fcn.004062d0
push str.VOLUMELABEL
lea ecx, [ebp - 0x268]
call fcn.00405d00
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 0x1f
call fcn.00409910
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x20
call fcn.004061c0
cmp dword [ebp - 0x26c], 8
jb 0x46a0ed
push dword [ebp - 0x280]
call fcn.0049500b
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 0x46a125
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
push str.PARAM_REG
lea ecx, [ebp - 0x280]
call fcn.00405d00
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x21
call fcn.00409f70
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
jb 0x46a169
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
push 0x16
push str.SOFTWARECANONMSETUP4
lea ecx, [ebp - 0x230]
call fcn.00406400
push 1
push 0x630b1c
lea ecx, [ebp - 0x230]
call fcn.004062d0
push str.VOLUMELABEL
lea ecx, [ebp - 0x268]
call fcn.00405d00
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 0x22
call fcn.00409910
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x23
call fcn.004061c0
cmp dword [ebp - 0x26c], 8
jb 0x46a1e2
push dword [ebp - 0x280]
call fcn.0049500b
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 0x46a21a
push dword [ebp - 0x268]
call fcn.0049500b
add esp, 4
push str.PARAM_REG_X86
lea ecx, [ebp - 0x280]
call fcn.00405d00
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x24
call fcn.00409f70
mov byte [ebp - 4], 1
cmp dword [ebp - 0x26c], 8
jb 0x46a25e
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
push 0x16
push str.SOFTWARECANONMSETUP4
lea ecx, [ebp - 0x230]
call fcn.00406400
push 0xd
push str.LatestDevice
lea ecx, [ebp - 0x230]
call fcn.004062d0
push str.LATEST_DEVICE_REG
lea ecx, [ebp - 0x280]
call fcn.00405d00
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x25
call fcn.00409f70
cmp dword [ebp - 0x26c], 8
jb 0x46a2c2
push dword [ebp - 0x280]
call fcn.0049500b
add esp, 4
cmp dword [ebp - 0x21c], 8
jb 0x46a2d9
push dword [ebp - 0x230]
call fcn.0049500b
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 0x46a30d
push dword [ebp - 0x24c]
call fcn.0049500b
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.005b7f8f
mov esp, ebp
pop ebp
ret