Function at 0x44fa87
Capabilities:
Check mutex on windows
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5abeaa
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x3a58
call fcn.0058c7d0
mov eax, dword [0x634460]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x3820], ebx
mov dword [ebp - 0x3884], ebx
call fcn.0047f912
mov ecx, dword [0x62f260]
xor eax, eax
mov byte [ebp - 0x3839], al
mov dword [ebp - 4], eax
mov eax, dword [ecx]
call dword [eax]
push 0x74
call fcn.00471e6b
pop ecx
mov dword [ebp - 0x3858], eax
xor ecx, ecx
inc ecx
mov dword [ebp - 0x3850], ecx
mov byte [ebp - 4], cl
test eax, eax
je 0x44fb10
mov ecx, eax
call fcn.0044d0b9
mov esi, eax
xor eax, eax
jmp 0x44fb14
xor eax, eax
mov esi, eax
push str.istdrv.debug.ini
push eax
push 0x5cdc2c
push str.Setup
mov byte [ebp - 4], al
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, eax
test edi, edi
je 0x44fb90
push str.istdrv.debug.ini
push 0x100
lea eax, [ebp - 0x220]
push eax
push 0x5bef10
push str.Class
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
push eax
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x44fb80
push 0x100
lea eax, [ebp - 0x220]
push eax
xor eax, eax
push 2
inc eax
jmp 0x44fb86
xor eax, eax
push eax
push eax
inc eax
push eax
push eax
push edi
call fcn.00424396
add esp, 0x14
xor eax, eax
push eax
lea ecx, [ebp - 0x1f0c]
mov edi, 0x5bef10
call fcn.00471506
xor eax, eax
push eax
lea ecx, [ebp - 0x3a68]
mov byte [ebp - 4], 2
call fcn.0046b0b9
xor eax, eax
push eax
lea ecx, [ebp - 0x1ac0]
mov byte [ebp - 4], 3
call fcn.00466ee1
xor eax, eax
push eax
lea ecx, [ebp - 0x236c]
mov byte [ebp - 4], 4
call fcn.00458873
xor eax, eax
push eax
lea ecx, [ebp - 0x3944]
mov byte [ebp - 4], 5
call fcn.0046b887
xor eax, eax
push eax
lea ecx, [ebp - 0x381c]
mov byte [ebp - 4], 6
call fcn.00463359
xor eax, eax
push eax
lea ecx, [ebp - 0x15f8]
mov byte [ebp - 4], 7
call fcn.00465fc2
xor eax, eax
push eax
lea ecx, [ebp - 0x1124]
mov byte [ebp - 4], 8
call fcn.0043625d
xor eax, eax
push eax
lea ecx, [ebp - 0x2c08]
mov byte [ebp - 4], 9
call fcn.0045f4b4
xor ecx, ecx
mov eax, ecx
push str._NOT_SPECIFIED_
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x3870], eax
mov dword [ebp - 0x388c], ecx
mov dword [ebp - 0x385c], ecx
mov dword [ebp - 0x8a4], 7
mov dword [ebp - 0x8a8], ecx
mov word [ebp - 0x8b8], ax
call fcn.00588144
pop ecx
push eax
push str._NOT_SPECIFIED_
lea ecx, [ebp - 0x8b8]
call fcn.00403cef
xor ecx, ecx
push ecx
mov dword [ebp - 0x950], ecx
xor eax, eax
push edi
lea ecx, [ebp - 0x960]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x94c], 7
mov word [ebp - 0x960], ax
call fcn.00403cef
xor ecx, ecx
xor eax, eax
inc eax
push ecx
mov dword [ebp - 0x3828], eax
mov dword [ebp - 0x3824], ecx
mov dword [ebp - 0x386c], ecx
mov dword [ebp - 0x3838], ecx
mov dword [ebp - 0x3860], ecx
mov dword [ebp - 0x384c], ecx
mov dword [ebp - 0x968], ecx
xor eax, eax
push edi
lea ecx, [ebp - 0x978]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x964], 7
mov word [ebp - 0x978], ax
call fcn.00403cef
xor ecx, ecx
push ecx
mov dword [ebp - 0x8f0], ecx
xor eax, eax
push edi
lea ecx, [ebp - 0x900]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x8ec], 7
mov word [ebp - 0x900], ax
call fcn.00403cef
xor ecx, ecx
push ecx
mov dword [ebp - 0x8d8], ecx
xor eax, eax
push edi
lea ecx, [ebp - 0x8e8]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x8d4], 7
mov word [ebp - 0x8e8], ax
call fcn.00403cef
xor ecx, ecx
push ecx
mov dword [ebp - 0x920], ecx
xor eax, eax
push edi
lea ecx, [ebp - 0x930]
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x91c], 7
mov word [ebp - 0x930], ax
call fcn.00403cef
lea ecx, [ebp - 0x3874]
mov byte [ebp - 4], 0x10
call fcn.00460d1e
xor ecx, ecx
mov eax, ecx
push 0x206
mov dword [ebp - 0x3830], eax
mov word [ebp - 0x428], ax
push ecx
lea eax, [ebp - 0x426]
push eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x3858], ecx
mov dword [ebp - 0x3880], ecx
mov dword [ebp - 0x3834], ecx
call fcn.00587a70
or dword [ebp - 0x3844], 0xffffffff
lea eax, [ebx + 0x4610]
push eax
call fcn.0047116c
add esp, 0x10
test eax, eax
je 0x44fdfd
xor edi, edi
inc edi
test esi, esi
je 0x453cae
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 4]
jmp 0x453cae
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x44fe1e
push str.SetProcessDPIAware
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x44fe1e
call eax
push 0x120
call fcn.00471e6b
pop ecx
mov dword [ebp - 0x3840], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x44fe40
mov ecx, eax
call fcn.0042026f
jmp 0x44fe42
xor eax, eax
mov edi, eax
mov eax, dword [ebp - 0x3820]
mov dword [ebx + 0x4b74], edi
mov edx, dword [edi]
add ebx, 0xcc
push ebx
add eax, 0xd0
push eax
mov ecx, edi
mov dword [ebp - 0x3824], edi
mov byte [ebp - 4], 0x11
call dword [edx + 4]
mov eax, dword [edi]
xor ecx, ecx
inc ecx
push ecx
mov ecx, edi
call dword [eax + 0xc]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
push str.__CANON_DRIVER_INSTALLER__
inc eax
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov ecx, dword [ebp - 0x3820]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ecx + 0x4b50], eax
call edi
cmp eax, 5
je 0x453c53
cmp eax, 0xb7
je 0x453c53
mov eax, dword [ebp - 0x3820]
push dword [eax + 0x4b50]
push str.Temp_m_hMutexGlobal__0x_1_lx_._n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
call edi
push eax
push str.GetLastError____0x_1_lx__n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
call fcn.00473832
mov ecx, dword [ebp - 0x3820]
push str.__MFP_ISTDRV__
push dword [eax + 8]
call fcn.0045485c
call fcn.00473832
xor ecx, ecx
push ecx
push dword [eax + 8]
mov eax, SysReAllocStringLen
push ecx
push ecx
push ecx
push eax
push ecx
push eax
push 0xcf0000
push ecx
push str.__MFP_ISTDRV__
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
jne 0x44ff70
mov ebx, dword [ebp - 0x3824]
push 6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x3820]
or dword [eax + 0x4610], 0xffffffff
xor edi, edi
inc edi
test esi, esi
je 0x453cb4
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 4]
jmp 0x453cb4
mov edi, dword [ebp - 0x3824]
push 2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
mov ecx, dword [ebp - 0x3820]
or dword [ebp - 0x3840], 0xffffffff
lea eax, [ebp - 0x3840]
push eax
call fcn.0044e853
test eax, eax
jne 0x4500fd
mov ecx, ebx
call fcn.004149f2
test eax, eax
je 0x44fff0
mov ecx, ebx
call fcn.0040ece4
mov ecx, ebx
mov dword [ebp - 0x3830], eax
call fcn.0040ecb5
mov ecx, ebx
mov edi, eax
call fcn.0040ec86
push dword [ebp - 0x3830]
mov ebx, dword [ebp - 0x3820]
push edi
push eax
lea ecx, [ebx + 0x4608]
call fcn.00442073
mov edi, dword [ebp - 0x3824]
jmp 0x44fff6
mov ebx, dword [ebp - 0x3820]
mov eax, dword [edi]
mov ecx, edi
push 6
call dword [eax + 0xc]
or dword [ebx + 0x4610], 0xffffffff
mov dword [ebp - 0x3828], 2
test esi, esi
je 0x45001f
mov eax, dword [esi]
xor ecx, ecx
inc ecx
push ecx
mov ecx, esi
call dword [eax + 4]
mov edi, 0x5bf818
mov ebx, dword [ebp - 0x3820]
push 6
lea ecx, [ebx + 0x46c4]
call fcn.00401515
mov esi, dword [ebp - 0x3820]
add esi, 0xd0
push str.___DEFAULT_PRINTER_OPTION___
mov ecx, esi
call fcn.0046dbb9
push 0x10
xor ecx, ecx
push ecx
push eax
call fcn.0058bd55
push eax
push str.__DEFAULT_PRINTER_OPTION__:_1_x__n
xor ecx, ecx
mov ebx, eax
inc ecx
push str.CIstDrvApp::InitInstance
push 3
and ebx, ecx
call fcn.00423f75
mov eax, dword [ebp - 0x3820]
xor ecx, ecx
add esp, 0x1c
cmp dword [eax + 0x460c], ecx
jne 0x453952
mov eax, dword [ebp - 0x3824]
mov al, byte [eax + 0xf]
test al, al
jne 0x453952
cmp dword [ebp - 0x3828], 2
jne 0x4534f1
mov eax, 0x42cc
mov dword [ebp - 0x3870], eax
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x1124]
mov dword [ebp - 0x388c], 0x7541
mov dword [ebp - 0x385c], 0x42ce
call fcn.00438166
mov ebx, dword [ebp - 0x3820]
cmp dword [ebx + 0x4630], 8
jne 0x4534f7
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x1124]
call fcn.00438179
jmp 0x4534f7
mov eax, dword [ebp - 0x3840]
mov ebx, dword [ebp - 0x3824]
cmp eax, 0xffffffff
je 0x45012a
mov word [ebx + 0x1c], ax
movzx eax, ax
push eax
push str.nSelectedLangID__0x_1_lx_._n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
mov edi, dword [ebp - 0x3820]
xor eax, eax
cmp dword [edi + 0x460c], eax
jne 0x4504e6
push 0x2f
pop ecx
push 0x2d
lea edi, [eax + 1]
pop edx
mov dword [ebp - 0x382c], edi
cmp edi, dword [0x640270]
jge 0x4504da
mov eax, dword [0x640278]
mov edi, dword [eax + edi*4]
mov dword [ebp - 0x3840], edi
movzx eax, word [edi]
cmp ax, cx
je 0x450178
cmp ax, dx
jne 0x4504ce
push 2
push 0x5cdd6c
call fcn.0058b10d
push eax
lea ebx, [edi + 2]
push 0x5cdd6c
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x4501a9
mov eax, dword [ebp - 0x3820]
xor ecx, ecx
inc ecx
mov dword [eax + 0x460c], ecx
push 6
push str.NOVSA
call fcn.0058b10d
push eax
push str.NOVSA
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x4501d7
mov eax, dword [ebp - 0x3820]
xor ecx, ecx
inc ecx
mov dword [eax + 0x45b8], ecx
push 2
push 0x5cdd70
call fcn.0058b10d
push eax
push 0x5cdd70
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x450218
add edi, 4
cmp word [edi], ax
je 0x450205
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x8b8]
call fcn.00403cef
mov edi, dword [ebp - 0x3840]
push 8
push str.PREINST
call fcn.0058b10d
push eax
push str.PREINST
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x450246
mov eax, dword [ebp - 0x3820]
xor ecx, ecx
inc ecx
mov dword [eax + 0x45b4], ecx
push 3
push 0x5cdd74
call fcn.0058b10d
push eax
push 0x5cdd74
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x45031c
mov ecx, dword [ebp - 0x3820]
lea eax, [edi + 6]
push eax
lea ecx, [ecx + 0x4608]
call fcn.00447ec0
push 4
push 0x5cdd7c
call fcn.0058b10d
push eax
push 0x5cdd7c
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
je 0x4502bc
push 4
push 0x5c5d88
call fcn.0058b10d
push eax
push 0x5c5d88
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x4502d8
push 0x5cdd84
call fcn.00588144
pop ecx
push eax
push 0x5cdd84
lea ecx, [ebp - 0x8b8]
call fcn.00403cef
push 4
push 0x5cdd8c
call fcn.0058b10d
push eax
push 0x5cdd8c
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x45031c
push 0x5c3e48
call fcn.00588144
pop ecx
push eax
push 0x5c3e48
lea ecx, [ebp - 0x8b8]
call fcn.00403cef
xor eax, eax
inc eax
mov dword [ebp - 0x3830], eax
push 6
push str.LANG:
call fcn.0058b10d
push eax
push str.LANG:
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x4503ae
push 3
push 0x5cb26c
call fcn.0058b10d
push eax
add edi, 0xc
push 0x5cb26c
push edi
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x450372
push 0x10
lea eax, [ebp - 0x3890]
push eax
mov eax, dword [ebp - 0x3840]
add eax, 0x10
push eax
jmp 0x45037c
push 0xa
lea eax, [ebp - 0x3888]
push eax
push edi
call fcn.0058bd55
movzx eax, ax
add esp, 0xc
test ax, ax
je 0x4503ae
mov ecx, dword [ebp - 0x3824]
mov word [ecx + 0x1c], ax
movzx eax, ax
push eax
push str.nSelectedLangID__0x_1_lx_._n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
push 7
mov edi, str.SIPATH
push edi
call fcn.0058b10d
push eax
push edi
push ebx
call fcn.0058b693
mov edi, dword [ebp - 0x382c]
add esp, 0x14
test eax, eax
jne 0x450405
lea eax, [edi + 1]
cmp eax, dword [0x640270]
jge 0x450405
mov eax, dword [0x640278]
mov edi, dword [eax + edi*4 + 4]
xor eax, eax
cmp word [edi], ax
je 0x4503f2
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x960]
call fcn.00403cef
mov edi, dword [ebp - 0x382c]
push 2
push 0x5cddb0
call fcn.0058b10d
push eax
push 0x5cddb0
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x45046a
lea eax, [edi + 1]
cmp eax, dword [0x640270]
jge 0x45046a
mov eax, dword [0x640278]
mov ecx, dword [ebp - 0x3820]
push dword [eax + edi*4 + 4]
call fcn.0044f8c0
movzx eax, ax
test ax, ax
je 0x45046a
mov ecx, dword [ebp - 0x3824]
push eax
push str.nSelectedLangID__0x_1_lx_._n
push str.CIstDrvApp::InitInstance
push 4
mov word [ecx + 0x1c], ax
call fcn.00423f75
add esp, 0x10
push 0xf
mov edi, 0x5cddb4
push edi
call fcn.0058b10d
push eax
push edi
push ebx
call fcn.0058b693
add esp, 0x14
test eax, eax
jne 0x4504c8
mov edi, dword [ebp - 0x3840]
add edi, 0x1e
cmp word [edi], ax
je 0x45049b
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x8e8]
call fcn.00403cef
cmp dword [ebp - 0x8d4], 8
lea eax, [ebp - 0x8e8]
cmovae eax, dword [ebp - 0x8e8]
push eax
lea ecx, [ebp - 0x3a68]
call fcn.0046b878
push 0x2f
pop ecx
push 0x2d
pop edx
mov edi, dword [ebp - 0x382c]
inc edi
jmp 0x450147
mov ebx, dword [ebp - 0x3824]
mov edi, dword [ebp - 0x3820]
movzx eax, byte [ebx + 4]
movzx edx, word [ebx + 0x1e]
movzx ecx, word [ebx + 0x1c]
push eax
push edx
push ecx
mov ecx, edi
call fcn.0044e213
test eax, eax
jne 0x45056a
add edi, 0xcc
mov ecx, edi
call fcn.004149f2
test eax, eax
je 0x45054f
mov ecx, edi
call fcn.0040ece4
mov ecx, edi
mov dword [ebp - 0x3830], eax
call fcn.0040ecb5
mov ecx, edi
mov ebx, eax
call fcn.0040ec86
push dword [ebp - 0x3830]
mov edi, dword [ebp - 0x3820]
push ebx
push eax
lea ecx, [edi + 0x4608]
call fcn.00442073
mov ebx, dword [ebp - 0x3824]
jmp 0x450555
mov edi, dword [ebp - 0x3820]
mov eax, dword [ebx]
push 6
mov ecx, ebx
call dword [eax + 0xc]
or dword [edi + 0x4610], 0xffffffff
jmp 0x450006
cmp dword [ebp - 0x94c], 8
lea eax, [ebp - 0x960]
cmovae eax, dword [ebp - 0x960]
push eax
push str.LFP_Silent_INI___1_s_
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
sub esp, 0x18
lea eax, [ebp - 0x960]
mov ecx, esp
mov dword [ebp - 0x3888], esp
push eax
call fcn.00401069
mov ecx, edi
call fcn.0044e490
test eax, eax
jne 0x4505ee
add edi, 0xcc
mov ecx, edi
call fcn.004149f2
test eax, eax
je 0x45054f
mov ecx, edi
call fcn.0040ece4
mov ecx, edi
mov dword [ebp - 0x3830], eax
call fcn.0040ecb5
mov ecx, edi
mov ebx, eax
call fcn.0040ec86
push dword [ebp - 0x3830]
jmp 0x450534
xor eax, eax
inc eax
push eax
mov byte [ebp - 0x3839], al
lea eax, [edi + 0x4868]
push eax
lea ecx, [edi + 0xd0]
call fcn.0046c6f1
mov ecx, edi
call fcn.0044db54
test eax, eax
je 0x450555
lea eax, [ebx + 0x38]
cmp dword [eax + 0x14], 8
jb 0x450624
mov eax, dword [eax]
push eax
lea ecx, [edi + 0x4618]
call fcn.00403cc8
mov eax, dword [ebx]
push 3
mov ecx, ebx
call dword [eax + 0xc]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
mov eax, dword [ebx]
push 2
mov ecx, ebx
call dword [eax + 0xc]
add edi, 0xcc
mov ecx, edi
call fcn.00412fee
movzx eax, ax
mov ecx, edi
mov word [ebx + 0x1c], ax
call fcn.00412fee
movzx ecx, ax
mov eax, 0x3ff
and ax, cx
xor edx, edx
cmp ax, word [ebp - 0x3850]
mov eax, dword [0x62f260]
mov ecx, 0x180000
cmove edx, ecx
push str.istdrv.debug.ini
mov dword [eax + 0xc], edx
xor eax, eax
push eax
push str.MessageBoxDebug
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x4506bc
mov ecx, edi
call fcn.00412a1a
mov ecx, dword [0x62f260]
push eax
call fcn.0044df9d
jmp 0x44ff58
push str.istdrv.debug.ini
xor eax, eax
push eax
push str.UnusedScreen
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x4506e5
call fcn.00433320
xor edi, edi
inc edi
jmp 0x453cb4
push str.istdrv.debug.ini
xor eax, eax
push eax
push str.DemoCase
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, eax
test ebx, ebx
je 0x450734
xor eax, eax
inc eax
mov dword [ebp - 0x3858], eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x3858]
push eax
mov ecx, edi
call fcn.00413318
push 0x635da0
push ebx
call fcn.00434502
pop ecx
pop ecx
mov ebx, dword [ebp - 0x3824]
jmp 0x4506dd
mov eax, dword [ebp - 0x3820]
push dword [eax + 0x68]
lea ebx, [eax + 0x4608]
mov ecx, ebx
call fcn.00448183
mov ecx, dword [ebp - 0x3820]
call fcn.004543db
dec eax
je 0x453c4b
dec eax
je 0x4534b4
mov eax, dword [ebp - 0x3824]
xor ecx, ecx
mov al, byte [eax + 5]
test al, al
sete cl
push ecx
mov ecx, ebx
call fcn.0043925d
test eax, eax
jne 0x450793
mov ebx, dword [ebp - 0x3824]
push 6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
jmp 0x450006
mov ebx, dword [ebp - 0x3820]
lea ecx, [ebx + 0x404]
call fcn.0044acd6
xor eax, eax
inc eax
push eax
push eax
lea ecx, [ebx + 0x404]
call fcn.0044c4d0
mov ecx, edi
test eax, eax
jne 0x450806
call fcn.004149f2
test eax, eax
je 0x4507f9
mov ecx, edi
call fcn.0040ece4
mov ecx, edi
mov dword [ebp - 0x3830], eax
call fcn.0040ecb5
mov ecx, edi
mov ebx, eax
call fcn.0040ec86
push dword [ebp - 0x3830]
push ebx
mov ebx, dword [ebp - 0x3820]
push eax
lea ecx, [ebx + 0x4608]
call fcn.00442073
mov ecx, dword [ebp - 0x3824]
mov eax, dword [ecx]
jmp 0x44fffa
call fcn.00412fee
mov ebx, dword [ebp - 0x3824]
movzx eax, ax
mov ecx, edi
mov word [ebx + 0x1c], ax
call fcn.00412fee
movzx ecx, ax
xor edx, edx
mov eax, 0x3ff
and ax, cx
xor ecx, ecx
inc edx
cmp ax, dx
mov eax, 0x180000
cmove ecx, eax
mov eax, dword [0x62f260]
mov dword [eax + 0xc], ecx
mov ecx, edi
call fcn.00412b46
mov dword [ebp - 0x3840], eax
test esi, esi
je 0x45085e
mov edx, dword [esi]
xor eax, eax
inc eax
push eax
mov ecx, esi
call dword [edx + 4]
mov esi, dword [ebp - 0x3820]
mov eax, dword [ebp - 0x3828]
xor ecx, ecx
cmp dword [esi + 0x460c], ecx
jne 0x45089a
mov al, byte [ebx + 6]
test al, al
jne 0x450894
mov dword [ebp - 0x1eb8], ecx
lea ecx, [ebp - 0x1f0c]
call fcn.00467058
mov dword [ebp - 0x3828], eax
jmp 0x45089a
mov eax, dword [ebp - 0x3828]
cmp eax, 2
jne 0x4508c6
mov eax, dword [ebx]
push 7
mov ecx, ebx
call dword [eax + 0xc]
mov edi, dword [ebp - 0x3820]
xor eax, eax
mov dword [edi + 0x4610], 2
inc eax
mov dword [edi + 0x4630], eax
jmp 0x45001f
cmp eax, 0x3f8
jne 0x450917
mov ecx, edi
call fcn.00412fee
movzx eax, ax
mov ecx, edi
mov word [ebx + 0x1c], ax
call fcn.00412b46
mov ecx, edi
mov dword [ebp - 0x3840], eax
call fcn.00412fee
movzx ecx, ax
mov eax, 0x3ff
and ax, cx
xor edx, edx
xor ecx, ecx
inc edx
cmp ax, dx
mov eax, 0x180000
cmove ecx, eax
mov eax, dword [0x62f260]
mov dword [eax + 0xc], ecx
jmp 0x450864
cmp dword [ebp - 0x3828], 3
jne 0x450993
mov ecx, edi
call fcn.004149f2
test eax, eax
je 0x450960
mov ecx, edi
call fcn.0040ece4
mov ecx, edi
mov ebx, eax
call fcn.0040ecb5
mov ecx, edi
mov esi, eax
call fcn.0040ec86
mov edi, dword [ebp - 0x3820]
push ebx
push esi
push eax
lea ecx, [edi + 0x4608]
call fcn.00442073
mov ebx, dword [ebp - 0x3824]
jmp 0x450966
mov edi, dword [ebp - 0x3820]
mov eax, dword [ebx]
push 6
mov ecx, ebx
call dword [eax + 0xc]
or dword [edi + 0x4610], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x3828], 2
je 0x45001f
mov eax, dword [ecx]
xor edx, edx
inc edx
push edx
jmp 0x45001c
mov edi, dword [ebp - 0x3820]
lea ecx, [edi + 0xcc]
call fcn.0041a470
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x4509cf
xor eax, eax
mov esi, eax
cmp esi, 5
jge 0x4509cf
lea eax, [esi*8 + 0x3dc]
add eax, edi
lea ecx, [esi*8 + 0x3b4]
add ecx, edi
push eax
call fcn.004072e3
inc esi
jmp 0x4509af
lea ebx, [edi + 0xd0]
push str.___NAME_OPT_MSETUP___
mov ecx, ebx
call fcn.0046dbb9
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x4509f1
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x900]
call fcn.00403cef
add edi, 0xcc
mov ecx, edi
call fcn.0041a470
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x450a6c
cmp dword [ebp - 0x8f0], 0
je 0x450a6c
push str.___NAME_OPT_MSETUP___
lea ecx, [ebp - 0x900]
call fcn.0041ee46
test eax, eax
je 0x450a6c
mov esi, dword [ebp - 0x3824]
add esi, 0x90
cmp dword [esi + 0x14], 8
jb 0x450a45
mov eax, dword [esi]
jmp 0x450a47
mov eax, esi
push 0x5bef10
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
je 0x450aaf
cmp dword [esi + 0x14], 8
jb 0x450a60
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x3a68]
call fcn.0046b878
mov esi, dword [ebp - 0x3820]
xor ecx, ecx
cmp dword [esi + 0x460c], ecx
jne 0x450ae4
mov eax, dword [ebp - 0x3824]
mov al, byte [eax + 7]
test al, al
jne 0x450adc
mov ecx, edi
call fcn.0041a470
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x450ada
lea ecx, [ebp - 0x3a68]
call fcn.00467058
mov dword [ebp - 0x3828], eax
xor ecx, ecx
jmp 0x450b37
mov esi, dword [ebp - 0x3824]
mov ecx, esi
mov eax, dword [esi]
push 6
call dword [eax + 0xc]
mov ebx, dword [ebp - 0x3820]
mov dword [ebp - 0x3828], 2
or dword [ebx + 0x4610], 0xffffffff
jmp 0x4534e7
xor ecx, ecx
cmp dword [esi + 0x460c], ecx
je 0x450b31
mov ecx, edi
call fcn.0041a470
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x450b2f
add esi, 0x4b5c
cmp dword [esi + 0x14], 8
jb 0x450b02
mov eax, dword [esi]
jmp 0x450b04
mov eax, esi
push 0x5bef10
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
je 0x450b6a
cmp dword [esi + 0x14], 8
jb 0x450b1d
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x3a68]
call fcn.0046b878
mov esi, dword [ebp - 0x3820]
xor ecx, ecx
mov eax, dword [ebp - 0x3828]
cmp eax, 2
jne 0x450b79
mov ebx, dword [ebp - 0x3824]
push 7
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
mov edi, dword [ebp - 0x3820]
mov dword [edi + 0x4610], 2
mov dword [edi + 0x4630], 0xa
jmp 0x45001f
mov ebx, dword [ebp - 0x3824]
mov ecx, ebx
mov eax, dword [ebx]
jmp 0x450ab9
cmp eax, 0xc
je 0x4534a9
lea eax, [ebp - 0x8e8]
push eax
lea ecx, [ebp - 0x3a68]
call fcn.0046b161
push str.___FILE_INSTALLER_INI___
mov ecx, ebx
call fcn.0046dbb9
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x450bb0
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x930]
call fcn.00403cef
cmp dword [ebp - 0x8d8], 0
je 0x450d61
cmp dword [ebp - 0x920], 0
je 0x450d61
mov ecx, edi
call fcn.0041a470
xor esi, esi
inc esi
cmp eax, esi
jne 0x450d61
cmp dword [ebp - 0x91c], 8
push 0
lea ecx, [ebp - 0x930]
cmovae ecx, dword [ebp - 0x930]
cmp dword [ebp - 0x8d4], 8
push ecx
push dword [ebp - 0x8d8]
lea eax, [ebp - 0x8e8]
cmovae eax, dword [ebp - 0x8e8]
push eax
mov ecx, edi
call fcn.0041bc69
test eax, eax
je 0x450b6a
cmp dword [ebp - 0x91c], 8
push 4
lea ecx, [ebp - 0x930]
cmovae ecx, dword [ebp - 0x930]
cmp dword [ebp - 0x8d4], 8
push ecx
push dword [ebp - 0x8d8]
lea eax, [ebp - 0x8e8]
cmovae eax, dword [ebp - 0x8e8]
push eax
mov ecx, edi
call fcn.0041bc69
test eax, eax
je 0x450b6a
mov ecx, edi
call fcn.00419e2e
and eax, 0xf0
cmp al, 0x30
jne 0x450d61
push str.___MAIN_DRIVERTYPE_PRINT___
mov ecx, ebx
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x8d0]
call fcn.004010bc
xor ebx, ebx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
call fcn.0041e433
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x14
call fcn.00473832
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x1c]
push eax
push 0x5c1140
add ecx, 0xcc
call fcn.0040a078
test eax, eax
jne 0x450d46
push 0x5bfdf8
lea ecx, [ebp - 0x8d0]
call fcn.0041ee46
mov edi, dword [ebp - 0x3820]
test eax, eax
lea eax, [edi + 0x4608]
jne 0x450cf9
push 0xfbc
jmp 0x450cfe
push 0xfbb
push eax
call fcn.00441e9b
mov ebx, dword [ebp - 0x3824]
pop ecx
mov eax, dword [ebx]
pop ecx
push 6
mov ecx, ebx
call dword [eax + 0xc]
or dword [edi + 0x4610], 0xffffffff
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3828], 2
call fcn.00406b5f
xor eax, eax
push eax
push esi
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 0x11
call fcn.00403a7f
jmp 0x45001f
lea ecx, [ebp - 0x1c]
call fcn.00406b5f
push ebx
push esi
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 0x11
call fcn.00403a7f
jmp 0x450d63
xor ebx, ebx
mov edi, dword [ebp - 0x3820]
lea esi, [edi + 0x404]
mov ecx, esi
call fcn.0044aa7a
mov ecx, esi
call fcn.0044aa1e
mov esi, dword [ebp - 0x3828]
push ebx
lea ecx, [ebp - 0x1ac0]
call fcn.004679a0
cmp dword [edi + 0x460c], ebx
mov ebx, dword [ebp - 0x3824]
jne 0x450dda
mov al, byte [ebx + 8]
test al, al
jne 0x450dda
lea ecx, [edi + 0xcc]
call fcn.0041182c
xor ecx, ecx
inc ecx
cmp eax, ecx
jbe 0x450dda
push dword [ebp - 0x3840]
lea ecx, [ebp - 0x1ac0]
call fcn.004679a0
lea ecx, [ebp - 0x1ac0]
call fcn.00467058
mov esi, eax
mov dword [ebp - 0x3828], esi
cmp esi, 2
jne 0x450df5
mov eax, dword [ebx]
push 7
mov ecx, ebx
call dword [eax + 0xc]
push esi
pop eax
mov dword [edi + 0x4610], eax
jmp 0x4508bb
cmp esi, 0xc
je 0x450999
lea ecx, [ebp - 0x1ac0]
call fcn.00467062
push eax
lea ecx, [edi + 0xcc]
mov dword [ebp - 0x3840], eax
call fcn.004117b5
push eax
lea ecx, [ebp - 0x236c]
call fcn.004596f0
jmp 0x450e35
mov edi, dword [ebp - 0x3820]
mov esi, dword [ebp - 0x3828]
xor eax, eax
cmp dword [edi + 0x460c], eax
jne 0x450e59
mov al, byte [ebx + 9]
test al, al
jne 0x450e59
lea ecx, [ebp - 0x236c]
call fcn.00467058
mov esi, eax
mov dword [ebp - 0x3828], esi
cmp esi, 0xc
je 0x4534a2
add edi, 0xcc
mov ecx, edi
call fcn.00411a1b
xor ecx, ecx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x3820]
jne 0x450ed0
cmp dword [eax + 0x4628], 0
je 0x450ed0
lea ecx, [ebp - 0x3845]
call fcn.005341ed
mov eax, dword [ebp - 0x3820]
sub esp, 0x18
add eax, 0x4618
mov ecx, esp
mov dword [ebp - 0x3888], esp
push eax
mov byte [ebp - 4], 0x15
call fcn.00401069
lea ecx, [ebp - 0x3845]
call fcn.00434e56
lea ecx, [ebp - 0x3845]
mov byte [ebp - 4], 0x11
call fcn.0056c088
mov eax, dword [ebp - 0x3820]
cmp esi, 2
jne 0x450ef9
mov eax, dword [ebx]
push 7
mov ecx, ebx
call dword [eax + 0xc]
mov edi, dword [ebp - 0x3820]
mov dword [edi + 0x4610], esi
mov dword [edi + 0x4630], 3
jmp 0x45001f
and dword [ebp - 0x382c], 0
push str.___MAIN_DRIVERTYPE_PRINT___
lea ecx, [eax + 0xd0]
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x858]
call fcn.004010bc
push 0x5c1140
lea eax, [ebp - 0x382c]
push eax
lea eax, [ebp - 0x3890]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x16
call fcn.0040dcaa
mov esi, dword [eax]
cmp esi, dword [ebp - 0x382c]
je 0x4511ae
push 0x5bfdf8
lea ecx, [ebp - 0x858]
call fcn.0041ee46
lea ecx, [esi + 0x148]
test eax, eax
jne 0x450f69
push 0x5bfe50
jmp 0x450f6e
push 0x5bfdf8
call fcn.0041ee46
mov esi, dword [ebp - 0x3820]
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
je 0x4511b4
xor ecx, ecx
cmp dword [esi + 0x460c], ecx
jne 0x450f99
mov al, byte [ebx + 0xb]
test al, al
je 0x450fa5
mov dword [ebp - 0x1130], ecx
mov dword [ebp - 0x112c], ecx
mov ecx, edi
call fcn.00419e2e
and eax, 0xf0
cmp al, 0x30
jne 0x45119b
xor eax, eax
lea ecx, [ebp - 0x3868]
mov dword [ebp - 0x3868], eax
mov dword [ebp - 0x3864], eax
call fcn.0041e433
mov dword [ebp - 0x3868], eax
mov byte [ebp - 4], 0x17
call fcn.00473832
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x3868]
push eax
push 0x5c1140
add ecx, 0xcc
call fcn.0040a078
test eax, eax
jne 0x451068
push 0x5bfdf8
lea ecx, [ebp - 0x858]
call fcn.0041ee46
mov edi, dword [ebp - 0x3820]
test eax, eax
lea eax, [edi + 0x4608]
jne 0x451026
push 0xfbc
jmp 0x45102b
push 0xfbb
push eax
call fcn.00441e9b
mov eax, dword [ebx]
pop ecx
pop ecx
push 6
mov ecx, ebx
call dword [eax + 0xc]
or dword [edi + 0x4610], 0xffffffff
lea ecx, [ebp - 0x3868]
mov dword [ebp - 0x3828], 2
call fcn.00406b5f
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0x858]
jmp 0x450d38
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x934], 7
mov dword [ebp - 0x938], ecx
mov word [ebp - 0x948], ax
mov dword [ebp - 0x387c], ecx
mov dword [ebp - 0x3878], ecx
lea ecx, [ebp - 0x387c]
mov byte [ebp - 4], 0x18
call fcn.0041e4ba
mov dword [ebp - 0x387c], eax
mov eax, dword [ebp - 0x3868]
mov byte [ebp - 4], 0x19
mov edi, dword [eax]
mov dword [ebp - 0x3850], edi
cmp edi, eax
je 0x451173
lea eax, [edi + 0x28]
lea ecx, [ebp - 0x948]
cmp ecx, eax
je 0x4510d5
push 0xffffffffffffffff
push 0
push eax
call fcn.00403c35
mov esi, dword [ebp - 0x387c]
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x3854]
push eax
lea ecx, [ebp - 0x387c]
call fcn.0041fa16
cmp esi, dword [eax]
jne 0x451151
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x389c]
push eax
lea ecx, [ebp - 0x387c]
call fcn.0041fc0f
cmp dword [ebp - 0x934], 8
mov ecx, dword [edi + 0x20]
lea eax, [ebp - 0x948]
cmovae eax, dword [ebp - 0x948]
add edi, 0x10
cmp dword [edi + 0x14], 8
jb 0x451133
mov edi, dword [edi]
mov esi, dword [ebp - 0x3820]
push eax
lea eax, [ecx + 1]
push eax
push edi
push 0x5c1140
lea ecx, [esi + 0xcc]
call fcn.0041d84c
jmp 0x451157
mov esi, dword [ebp - 0x3820]
lea ecx, [ebp - 0x3850]
call fcn.0042049a
mov eax, dword [ebp - 0x3868]
mov edi, dword [ebp - 0x3850]
jmp 0x4510b6
lea ecx, [ebp - 0x387c]
call fcn.00406bbf
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0x948]
call fcn.00403a7f
lea ecx, [ebp - 0x3868]
call fcn.00406b5f
jmp 0x4511b4
lea ecx, [ebp - 0x15f8]
call fcn.00467058
mov dword [ebp - 0x3828], eax
jmp 0x4511b4
mov esi, dword [ebp - 0x3820]
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x11
call fcn.00403a7f
mov eax, dword [ebp - 0x3828]
cmp eax, 2
jne 0x4511fb
mov eax, dword [ebx]
push 7
mov ecx, ebx
call dword [eax + 0xc]
mov edi, dword [ebp - 0x3820]
mov dword [edi + 0x4610], 2
mov dword [edi + 0x4630], 4
jmp 0x45001f
cmp eax, 0xc
je 0x450e29
xor eax, eax
push 0x5bef10
lea edi, [esi + 0xd0]
push str.__FLD_NONSTI_INST__
mov ecx, edi
mov dword [ebp - 0x382c], eax
mov dword [ebp - 0x386c], eax
call fcn.0046e541
mov al, byte [ebx + 0xc]
xor ecx, ecx
add esi, 0xcc
test al, al
sete cl
lea eax, [ebp - 0x386c]
push ecx
push eax
mov ecx, esi
call fcn.0041a892
cmp eax, 0xffffffff
jg 0x451341
je 0x451374
cmp eax, 0xffffff9c
je 0x451326
cmp eax, 0xfffffff6
je 0x45130b
cmp eax, 0xfffffffd
je 0x451278
cmp eax, 0xfffffffe
je 0x45128c
jmp 0x4513b9
push str.SRC_ABS_OLDER._n
push str.CIstDrvApp::InitInstance
push 2
call fcn.00423f75
add esp, 0xc
push str.SRC_PAR_OLDER._n
push str.CIstDrvApp::InitInstance
push 2
call fcn.00423f75
add esp, 0xc
mov ecx, esi
call fcn.0041a4cc
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x4512fa
push str.There_is_a_printer_icon_same_as_driver_name._n
push str.CIstDrvApp::InitInstance
push 2
call fcn.00423f75
add esp, 0xc
push 0x91be
mov edi, dword [ebp - 0x3820]
lea eax, [edi + 0x4608]
push eax
call fcn.00441e9b
mov eax, dword [ebx]
pop ecx
pop ecx
push 6
mov ecx, ebx
call dword [eax + 0xc]
or dword [edi + 0x4610], 0xffffffff
mov dword [ebp - 0x3828], 2
jmp 0x45001f
mov eax, dword [ebp - 0x3820]
or dword [eax + 0x4614], ecx
jmp 0x4513b9
push str.SRC_NOT_FOUND._n
push str.CIstDrvApp::InitInstance
push 2
call fcn.00423f75
add esp, 0xc
push 0x2727
jmp 0x4512c7
push str.SRC_LANG_INVALID._n
push str.CIstDrvApp::InitInstance
push 2
call fcn.00423f75
add esp, 0xc
push 0x2728
jmp 0x4512c7
sub eax, 0
je 0x451393
dec eax
je 0x451360
dec eax
jne 0x4513b9
push str.SRC_ABS_NEWER._n
push str.CIstDrvApp::InitInstance
push 2
call fcn.00423f75
add esp, 0xc
push str.SRC_PAR_NEWER._n
push str.CIstDrvApp::InitInstance
push 2
call fcn.00423f75
add esp, 0xc
push str.OLD_NEW_MIXED._n
push str.CIstDrvApp::InitInstance
push 2
call fcn.00423f75
xor eax, eax
add esp, 0xc
inc eax
mov dword [ebp - 0x382c], eax
jmp 0x4513b9
push str.SRC_DST_EQUALS_include_DST_NONE_._n
push str.CIstDrvApp::InitInstance
push 2
call fcn.00423f75
add esp, 0xc
mov ecx, esi
call fcn.0041a4cc
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x4512ae
mov ecx, esi
call fcn.00412ae5
push eax
push str.m_nProductType__0x_1_lx_._n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
xor eax, eax
push eax
lea ecx, [ebp - 0x870]
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x85c], 7
call fcn.004039c0
xor eax, eax
push eax
push eax
lea ecx, [ebp - 0x888]
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x874], eax
call fcn.00403a7f
push str.___DRIVERSTORE_DIR___
mov ecx, edi
mov byte [ebp - 4], 0x1b
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x870]
call fcn.00403cc8
mov edi, dword [ebp - 0x3820]
mov esi, dword [edi + 0x3c4]
mov esi, dword [esi]
mov dword [ebp - 0x3850], esi
cmp esi, dword [edi + 0x3c4]
je 0x451542
mov eax, dword [esi + 0x2c]
sub eax, 0
je 0x45152c
dec eax
je 0x4514c1
cmp dword [esi + 0x108], 0
je 0x45152c
lea eax, [esi + 0xf8]
push str.in_box
push eax
call fcn.004044ad
pop ecx
pop ecx
test al, al
je 0x45152c
lea eax, [esi + 0xf8]
cmp dword [eax + 0x14], 8
jb 0x45148f
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x45152c
lea eax, [esi + 0xf8]
cmp dword [eax + 0x14], 8
jb 0x4514ad
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x45152c
add esi, 0xf8
push esi
jmp 0x451521
push str.___FLD_WINDOWS___Twain_32_NAME_MODEL_
lea ecx, [edi + 0xd0]
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x888]
call fcn.00403cc8
cmp dword [ebp - 0x874], 8
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [ebp - 0x888]
cmovae eax, dword [ebp - 0x888]
push eax
call esi
cmp eax, 0xffffffff
je 0x45152c
cmp dword [ebp - 0x874], 8
lea eax, [ebp - 0x888]
cmovae eax, dword [ebp - 0x888]
push eax
call esi
test al, 0x10
je 0x45152c
lea eax, [ebp - 0x888]
push eax
lea ecx, [ebp - 0x870]
call fcn.00407335
lea ecx, [ebp - 0x3850]
call fcn.0042049a
mov esi, dword [ebp - 0x3850]
jmp 0x45143e
cmp dword [ebp - 0x85c], 8
lea eax, [ebp - 0x870]
cmovae eax, dword [ebp - 0x870]
push eax
lea esi, [edi + 0xd0]
push str.__FLD_NONSTI_INST__
mov ecx, esi
call fcn.0046e541
test eax, eax
jne 0x45158e
cmp dword [ebp - 0x85c], 8
lea eax, [ebp - 0x870]
cmovae eax, dword [ebp - 0x870]
push eax
push str.__FLD_NONSTI_INST__
mov ecx, esi
call fcn.0046c5e0
cmp dword [ebp - 0x85c], 8
lea eax, [ebp - 0x870]
cmovae eax, dword [ebp - 0x870]
push eax
push str.sNonStiDir.data__
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f57
add esp, 0x10
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0x888]
call fcn.00403a7f
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 0x11
call fcn.00403a7f
push str.___NAME_OPT_MSETUP___
mov ecx, esi
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x900]
call fcn.00403cc8
cmp dword [ebp - 0x8f0], 0
je 0x451614
push str.___NAME_OPT_MSETUP___
lea ecx, [ebp - 0x900]
call fcn.0041ee46
test eax, eax
jne 0x4516b5
lea ecx, [edi + 0xcc]
call fcn.0040dd4f
cmp eax, 0xffffffff
je 0x4516b5
xor ecx, ecx
cmp dword [edi + 0x460c], ecx
jne 0x451695
mov al, byte [ebx + 0x10]
test al, al
mov eax, dword [ebp - 0x382c]
jne 0x45169b
test eax, eax
je 0x45169b
lea ecx, [ebp - 0x3944]
call fcn.00475ccc
mov esi, eax
mov dword [ebp - 0x3828], esi
cmp esi, 0xc
je 0x450e35
cmp esi, 2
jne 0x451682
mov eax, dword [ebx]
push 7
mov ecx, ebx
call dword [eax + 0xc]
mov dword [edi + 0x4610], esi
mov dword [edi + 0x4630], 9
jmp 0x45001f
xor eax, eax
lea ebx, [eax + 1]
mov eax, dword [ebp - 0x38a0]
mov dword [ebp - 0x3844], eax
jmp 0x4516c2
mov eax, dword [ebp - 0x382c]
cmp dword [edi + 0x460c], ecx
je 0x4516b5
test eax, eax
je 0x4516b5
mov eax, dword [edi + 0x4b58]
mov dword [ebp - 0x3844], eax
jmp 0x4516bc
or dword [ebp - 0x3844], 0xffffffff
mov ebx, dword [ebp - 0x3834]
xor eax, eax
cmp dword [edi + 0x460c], eax
jne 0x4517e6
lea esi, [edi + 0xd0]
push str.___DRIVERSTORE_DIR___
mov ecx, esi
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x888]
call fcn.004010bc
push str.___NAME_DEVID___
mov ecx, esi
mov byte [ebp - 4], 0x1c
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x8a0]
call fcn.004010bc
push str.___NAME_DEVCODE___
mov ecx, esi
mov byte [ebp - 4], 0x1d
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x858]
call fcn.004010bc
push str.___DRIVERSTORE_DIR___
lea ecx, [ebp - 0x888]
mov byte [ebp - 4], 0x1e
call fcn.0041ee46
test eax, eax
je 0x4517b0
push str.___NAME_DEVID___
lea ecx, [ebp - 0x8a0]
call fcn.0041ee46
test eax, eax
je 0x4517b0
push str.___NAME_DEVCODE___
lea ecx, [ebp - 0x858]
call fcn.0041ee46
test eax, eax
je 0x4517b0
cmp dword [ebp - 0x844], 8
lea edx, [ebp - 0x858]
cmovae edx, dword [ebp - 0x858]
cmp dword [ebp - 0x88c], 8
lea ecx, [ebp - 0x8a0]
cmovae ecx, dword [ebp - 0x8a0]
cmp dword [ebp - 0x874], 8
push edx
lea eax, [ebp - 0x888]
cmovae eax, dword [ebp - 0x888]
push ecx
push eax
lea ecx, [edi + 0x46c4]
call fcn.00401969
xor eax, eax
xor esi, esi
push esi
inc eax
push eax
lea ecx, [ebp - 0x858]
call fcn.00403a7f
xor eax, eax
push esi
inc eax
push eax
lea ecx, [ebp - 0x8a0]
call fcn.00403a7f
xor eax, eax
push esi
inc eax
push eax
lea ecx, [ebp - 0x888]
mov byte [ebp - 4], 0x11
call fcn.00403a7f
mov eax, dword [ebp - 0x3830]
test eax, eax
je 0x4517fd
push 0x16
lea ecx, [edi + 0x46c4]
call fcn.00401515
test ebx, ebx
je 0x451835
lea esi, [edi + 0x46c4]
push 0x23
mov ecx, esi
call fcn.00401515
mov eax, dword [ebp - 0x3844]
xor ebx, ebx
sub eax, ebx
je 0x451831
dec eax
je 0x451826
dec eax
jne 0x451837
push 0x26
jmp 0x451828
push 0x25
mov ecx, esi
call fcn.00401515
jmp 0x451837
push 0x24
jmp 0x451828
xor ebx, ebx
lea eax, [ebp - 0x3858]
push eax
sub esp, 0x18
lea eax, [ebp - 0x8b8]
mov ecx, esp
mov dword [ebp - 0x3854], esp
push eax
call fcn.00401069
push 0x104
lea eax, [ebp - 0x428]
push eax
mov ecx, edi
call fcn.004548fa
mov eax, 0x4268
push 0x830
mov dword [ebp - 0x3870], eax
lea eax, [ebp - 0x3438]
push ebx
push eax
call fcn.00587a70
lea ebx, [edi + 0xcc]
add esp, 0xc
mov ecx, ebx
mov dword [ebp - 0x3438], 2
mov dword [ebp - 0x3840], ebx
call fcn.00419e2e
mov dword [ebp - 0x3434], eax
mov eax, dword [ebp - 0x3824]
mov ecx, ebx
mov dword [ebp - 0x2c0c], eax
call fcn.00412ae5
and eax, 0x30000
cmp eax, 0x10000
jne 0x4518f5
push str.SHORTCUT
lea esi, [edi + 0xd0]
push str.__NAME_SHORTCUT__
mov ecx, esi
call fcn.0046c5e0
push 0x5bef10
mov edi, str.__VAR_NAME_PRNDRV_OTHER_IF_NEED_UNINSTALL__
push edi
mov ecx, esi
call fcn.0046c5e0
jmp 0x4518fa
mov edi, str.__VAR_NAME_PRNDRV_OTHER_IF_NEED_UNINSTALL__
mov ecx, ebx
call fcn.00412ae5
and eax, 0x30000
cmp eax, 0x10000
je 0x4519ac
mov ecx, ebx
call fcn.004085b3
mov ecx, ebx
mov dword [ebp - 0x3830], eax
call fcn.004086b3
mov edx, dword [ebp - 0x3820]
xor ebx, ebx
mov ecx, dword [edx + 0x3b4]
push 1
cmp dword [ecx], ecx
pop ecx
cmovne ebx, ecx
lea esi, [edx + 0xd0]
mov dword [ebp - 0x3850], eax
mov ecx, esi
test eax, eax
je 0x45195f
push str.___NAME_PRINTERDRIVER_OTHER___
push edi
call fcn.0046c5e0
mov edi, 0x5bef10
jmp 0x45197c
push 0x5bef10
push edi
call fcn.0046c5e0
mov edi, 0x5bef10
push edi
push str.__VAL_DELOTHER_PRINT__
mov ecx, esi
call fcn.0046e541
test ebx, ebx
je 0x451999
cmp dword [ebp - 0x3830], 0
je 0x451992
cmp dword [ebp - 0x3850], 0
je 0x451999
push str.SHORTCUT
jmp 0x45199a
push edi
push str.__NAME_SHORTCUT__
mov ecx, esi
call fcn.0046c5e0
mov ebx, dword [ebp - 0x3840]
mov edi, dword [ebp - 0x382c]
test edi, edi
jne 0x451a04
cmp dword [ebp - 0x8a4], 8
lea eax, [ebp - 0x8b8]
cmovae eax, dword [ebp - 0x8b8]
push str._NOT_SPECIFIED_
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
je 0x451a04
cmp dword [ebp - 0x8a4], 8
lea eax, [ebp - 0x8b8]
cmovae eax, dword [ebp - 0x8b8]
push 0x5c3e48
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
jne 0x451bbd
mov ebx, 0x5bef10
push ebx
lea ecx, [ebp - 0x8a0]
call fcn.004010bc
push ebx
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x1f
call fcn.004010bc
cmp dword [ebp - 0x8a4], 8
lea eax, [ebp - 0x8b8]
cmovae eax, dword [ebp - 0x8b8]
push eax
push str.strSelectedExtension___1_s__n
push str.CIstDrvApp::InitInstance
push 4
mov byte [ebp - 4], 0x20
call fcn.00423f75
add esp, 0x10
lea ecx, [ebp - 0x858]
push str.SOFTWARE
call fcn.00403b6b
mov edi, 0x5c0b9c
push edi
lea ecx, [ebp - 0x858]
call fcn.00403b6b
mov ebx, dword [ebp - 0x3820]
xor eax, eax
mov esi, eax
cmp esi, 4
jae 0x451ae2
mov eax, dword [ebx + esi*8 + 0x3b4]
mov eax, dword [eax]
mov dword [ebp - 0x3830], eax
cmp eax, dword [ebx + esi*8 + 0x3b4]
je 0x451adf
test esi, esi
je 0x451aaa
xor eax, eax
inc eax
cmp esi, eax
je 0x451aaa
cmp esi, 2
jne 0x451acc
mov eax, esi
imul eax, eax, 0x14
add eax, str.PRINT
push eax
lea ecx, [ebp - 0x858]
call fcn.00403b6b
lea ecx, [ebp - 0x858]
push edi
call fcn.00403b6b
lea ecx, [ebp - 0x3830]
call fcn.0042049a
mov eax, dword [ebp - 0x3830]
jmp 0x451a91
inc esi
jmp 0x451a7d
lea eax, [ebp - 0x858]
push 0x2c
push eax
call fcn.0046c02f
cmp dword [ebp - 0x844], 8
pop ecx
pop ecx
lea eax, [ebp - 0x858]
cmovae eax, dword [ebp - 0x858]
push eax
lea esi, [ebx + 0xd0]
push str.__CLEANUP_FUNCTIONS__
mov ecx, esi
call fcn.0046c5e0
add ebx, 0xcc
push 2
mov ecx, ebx
call fcn.004142c9
push eax
mov ecx, esi
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x8a0]
call fcn.00403cc8
cmp dword [ebp - 0x890], 0
je 0x451b94
cmp dword [ebp - 0x88c], 8
lea eax, [ebp - 0x8a0]
cmovae eax, dword [ebp - 0x8a0]
push eax
push str.Uninstaller_CleanupCmdLine___1_s__n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
cmp dword [ebp - 0x88c], 8
lea eax, [ebp - 0x8a0]
cmovae eax, dword [ebp - 0x8a0]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x301c]
push eax
call fcn.0044cdf3
add esp, 0xc
xor esi, esi
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0x858]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0x8a0]
mov byte [ebp - 4], 0x11
call fcn.00403a7f
mov edi, dword [ebp - 0x382c]
mov esi, dword [ebp - 0x3820]
push 0x5bef10
push str.__TARGET_DRIVERS__
lea ecx, [esi + 0xd0]
call fcn.0046c5e0
test edi, edi
je 0x451ea6
xor eax, eax
push eax
push eax
lea ecx, [ebp - 0x870]
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x85c], eax
call fcn.00403a7f
xor eax, eax
push eax
push eax
lea ecx, [ebp - 0x858]
mov dword [ebp - 0x848], eax
mov dword [ebp - 0x844], eax
call fcn.00403a7f
lea ecx, [ebp - 0x8a0]
mov byte [ebp - 4], 0x22
call fcn.0046c48f
xor edi, edi
inc edi
mov ecx, ebx
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x3430], edi
call fcn.00414642
push 0x2c
push eax
lea ecx, [ebp - 0x8a0]
call fcn.0046d9ee
push str.istdrv.debug.ini
push edi
push str.UninstallOnUpgrade
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
xor ebx, ebx
test eax, eax
je 0x451e66
mov eax, dword [ebp - 0x3844]
cmp eax, edi
je 0x451e77
test eax, eax
je 0x451e77
mov edi, ebx
cmp edi, 4
jae 0x451d71
mov esi, dword [esi + edi*8 + 0x3b4]
mov esi, dword [esi]
mov dword [ebp - 0x3830], esi
mov eax, dword [ebp - 0x3820]
cmp esi, dword [eax + edi*8 + 0x3b4]
je 0x451d69
cmp dword [esi + 0x2c], ebx
jne 0x451d53
lea ecx, [ebp - 0x8a0]
call fcn.0046c815
xor ecx, ecx
inc ecx
cmp eax, ecx
jb 0x451cff
lea ecx, [ebp - 0x8a0]
call fcn.0046c815
cmp ebx, eax
jae 0x451cfb
push ebx
lea ecx, [ebp - 0x8a0]
call fcn.0046caa8
mov ecx, edi
imul ecx, ecx, 0x14
add ecx, str.PRINT
push ecx
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
je 0x451d51
inc ebx
jmp 0x451cc5
xor ebx, ebx
jne 0x451d53
mov eax, edi
imul eax, eax, 0x14
add eax, str.PRINT
push eax
lea ecx, [ebp - 0x870]
call fcn.00403b6b
mov ebx, 0x5c0b9c
push ebx
lea ecx, [ebp - 0x870]
call fcn.00403b6b
test edi, edi
je 0x451d31
xor eax, eax
inc eax
cmp edi, eax
jne 0x451d51
push 0xffffffffffffffff
xor eax, eax
push eax
add esi, 0x38
push esi
lea ecx, [ebp - 0x858]
call fcn.00403ac5
push ebx
lea ecx, [ebp - 0x858]
call fcn.00403b6b
xor ebx, ebx
lea ecx, [ebp - 0x3830]
call fcn.0042049a
mov esi, dword [ebp - 0x3830]
jmp 0x451c97
inc edi
mov esi, eax
jmp 0x451c7f
cmp dword [ebp - 0x860], 0
je 0x451e74
lea eax, [ebp - 0x870]
push 0x2c
push eax
call fcn.0046c02f
cmp dword [ebp - 0x85c], 8
pop ecx
pop ecx
lea eax, [ebp - 0x870]
cmovae eax, dword [ebp - 0x870]
push eax
add esi, 0xd0
push str.__UPGRADE_FUNCTIONS__
mov ecx, esi
call fcn.0046c5e0
lea eax, [ebp - 0x858]
push 0x2c
push eax
call fcn.0046c02f
cmp dword [ebp - 0x844], 8
pop ecx
pop ecx
lea eax, [ebp - 0x858]
cmovae eax, dword [ebp - 0x858]
push eax
push str.__TARGET_DRIVERS__
mov ecx, esi
call fcn.0046e541
mov ecx, dword [ebp - 0x3820]
xor edi, edi
inc edi
push edi
lea ecx, [ecx + 0xcc]
call fcn.004142c9
push eax
mov ecx, esi
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x870]
call fcn.00403cc8
cmp dword [ebp - 0x85c], 8
lea eax, [ebp - 0x870]
cmovae eax, dword [ebp - 0x870]
push eax
push str.Uninstaller_UpgradeCmdLine___1_s__n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
cmp dword [ebp - 0x85c], 8
lea eax, [ebp - 0x870]
cmovae eax, dword [ebp - 0x870]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x342c]
push eax
call fcn.0044cdf3
mov esi, dword [ebp - 0x3820]
add esp, 0xc
jmp 0x451e77
push ebx
push ebx
push str.Wait
call fcn.004754e2
jmp 0x451e77
xor edi, edi
inc edi
lea ecx, [ebp - 0x8a0]
mov byte [ebp - 4], 0x22
call fcn.0046c546
push ebx
push edi
lea ecx, [ebp - 0x858]
call fcn.00403a7f
push ebx
push edi
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 0x11
call fcn.00403a7f
jmp 0x451ea8
xor ebx, ebx
cmp dword [ebp - 0x8a4], 8
lea eax, [ebp - 0x8b8]
cmovae eax, dword [ebp - 0x8b8]
push 0x5cdd84
push eax
call fcn.0058b073
pop ecx
lea edi, [esi + 0x4608]
pop ecx
mov ecx, edi
test eax, eax
je 0x451edd
call fcn.0043e9c6
push ebx
jmp 0x451ee3
call fcn.0043efbf
push eax
lea ecx, [esi + 0x404]
call fcn.0044c8b1
push 0x74
call fcn.00471e6b
pop ecx
mov dword [ebp - 0x3854], eax
mov byte [ebp - 4], 0x24
test eax, eax
je 0x451f0f
mov ecx, eax
call fcn.0044d0b9
mov esi, eax
jmp 0x451f11
mov esi, ebx
mov ecx, dword [ebp - 0x3820]
mov byte [ebp - 4], 0x11
cmp dword [ecx + 0x460c], ebx
mov ebx, dword [ebp - 0x3824]
jne 0x451f6f
mov al, byte [ebx + 0xc]
test al, al
je 0x451f6f
xor eax, eax
inc eax
mov dword [ecx + 0x460c], eax
mov cl, byte [ebx + 0xc]
lea eax, [ebp - 0x3880]
push eax
push dword [ebp - 0x3844]
xor eax, eax
test cl, cl
sete al
mov ecx, edi
push eax
lea eax, [ebp - 0x3438]
push eax
call fcn.0043aed6
mov eax, dword [ebp - 0x3820]
xor ecx, ecx
mov dword [eax + 0x460c], ecx
jmp 0x451f95
mov cl, byte [ebx + 0xc]
lea eax, [ebp - 0x3880]
push eax
push dword [ebp - 0x3844]
xor eax, eax
test cl, cl
sete al
mov ecx, edi
push eax
lea eax, [ebp - 0x3438]
push eax
call fcn.0043aed6
test esi, esi
je 0x451fa4
mov eax, dword [esi]
xor ecx, ecx
inc ecx
push ecx
mov ecx, esi
call dword [eax + 4]
cmp dword [ebp - 0x8a4], 8
lea eax, [ebp - 0x8b8]
cmovae eax, dword [ebp - 0x8b8]
push 0x5cdd84
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
je 0x452029
mov esi, dword [ebp - 0x3820]
push str.___NAME_OPT_LANG___
lea ecx, [esi + 0xd0]
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x3830]
call fcn.00405c1a
push 0x5bef10
lea ecx, [ebp - 0x3830]
mov byte [ebp - 4], 0x25
call fcn.004088c9
test eax, eax
je 0x452017
cmp dword [esi + 0x45b4], 0
jne 0x452017
xor eax, eax
inc eax
push eax
mov ecx, edi
call fcn.00447f84
mov ecx, dword [ebp - 0x3830]
mov byte [ebp - 4], 0x11
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov eax, dword [ebp - 0x3820]
mov eax, dword [eax + 0x4610]
cmp eax, 0xffffffff
je 0x45348a
cmp eax, 2
je 0x45348a
cmp eax, 0x64
jne 0x45206c
xor esi, esi
inc esi
mov ecx, edi
mov dword [ebp - 0x3838], esi
call fcn.0044102e
test eax, eax
mov eax, dword [ebx]
mov ecx, ebx
je 0x452068
push 2
jmp 0x452069
push esi
call dword [eax + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push str.istdrv.debug.ini
xor eax, eax
push eax
push str.AlwaysReboot
push str.Setup
call esi
test eax, eax
je 0x4520e3
push str.DebugInfo_AlwaysReboot_is_TRUE._n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
mov edi, dword [ebp - 0x3820]
add esp, 0xc
xor eax, eax
inc eax
push str.istdrv.debug.ini
mov dword [ebp - 0x3838], eax
xor eax, eax
push eax
push str.AlwaysReboot.Emergency
push str.Setup
mov dword [edi + 0x4610], 0x64
call esi
test eax, eax
mov eax, dword [ebx]
mov ecx, ebx
je 0x4520da
push 2
call dword [eax + 0x10]
jmp 0x4520e9
xor esi, esi
inc esi
push esi
call dword [eax + 0x10]
jmp 0x4520ec
mov edi, dword [ebp - 0x3820]
xor esi, esi
inc esi
mov eax, dword [ebx]
push 4
mov ecx, ebx
call dword [eax + 0xc]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
mov eax, dword [ebx]
push 5
mov ecx, ebx
call dword [eax + 0xc]
cmp dword [ebp - 0x3844], 0
je 0x4533d0
xor eax, eax
mov dword [ebp - 0x3834], eax
push 0x5c1140
lea eax, [ebp - 0x3834]
push eax
lea eax, [ebp - 0x3854]
add edi, 0xcc
push eax
mov ecx, edi
call fcn.0040dcaa
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3834]
je 0x45219b
cmp dword [eax + 0x2c], esi
jne 0x45219b
lea esi, [eax + 0x50]
cmp dword [esi + 0x14], 8
jb 0x452156
mov ecx, dword [esi]
jmp 0x452158
mov ecx, esi
test ecx, ecx
je 0x45219b
cmp dword [esi + 0x14], 8
jb 0x452166
mov ecx, dword [esi]
jmp 0x452168
mov ecx, esi
xor edx, edx
cmp dx, word [ecx]
je 0x45219b
add eax, 0x28
push eax
mov ecx, edi
call fcn.00411083
test eax, eax
je 0x45219b
cmp dword [esi + 0x14], 8
jb 0x452186
mov esi, dword [esi]
push esi
push str.Replace_Printer_driver_inf___1_s__n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
push 0x5c114c
lea eax, [ebp - 0x3834]
push eax
lea eax, [ebp - 0x3854]
push eax
mov ecx, edi
call fcn.0040dcaa
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3834]
je 0x452219
xor ecx, ecx
inc ecx
cmp dword [eax + 0x2c], ecx
jne 0x452219
lea esi, [eax + 0x50]
cmp dword [esi + 0x14], 8
jb 0x4521d4
mov ecx, dword [esi]
jmp 0x4521d6
mov ecx, esi
test ecx, ecx
je 0x452219
cmp dword [esi + 0x14], 8
jb 0x4521e4
mov ecx, dword [esi]
jmp 0x4521e6
mov ecx, esi
xor edx, edx
cmp dx, word [ecx]
je 0x452219
add eax, 0x28
push eax
mov ecx, edi
call fcn.00411083
test eax, eax
je 0x452219
cmp dword [esi + 0x14], 8
jb 0x452204
mov esi, dword [esi]
push esi
push str.Replace_Fax_driver_inf___1_s__n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
xor eax, eax
mov dword [ebp - 0x3830], eax
push 0x5c1140
lea eax, [ebp - 0x3830]
push eax
lea eax, [ebp - 0x3854]
push eax
mov ecx, edi
call fcn.0040dcaa
mov esi, dword [eax]
cmp esi, dword [ebp - 0x3830]
je 0x45236d
lea ecx, [ebp - 0x858]
call fcn.0046c48f
mov ecx, edi
mov byte [ebp - 4], 0x26
call fcn.0040f521
push 0x2c
push eax
lea ecx, [ebp - 0x858]
call fcn.0046d9ee
push 0x20
lea ecx, [ebp - 0x858]
call fcn.0046e2e7
xor eax, eax
mov edi, eax
lea ecx, [ebp - 0x858]
call fcn.0046c815
cmp edi, eax
jae 0x45235e
push edi
lea ecx, [ebp - 0x858]
call fcn.0046caa8
test eax, eax
je 0x4523f0
push edi
lea ecx, [ebp - 0x858]
call fcn.0046caa8
push eax
push 0x5c1140
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
jne 0x4523f0
add esi, 0x50
cmp dword [esi + 0x14], 8
jb 0x4522d3
mov eax, dword [esi]
jmp 0x4522d5
mov eax, esi
push eax
push str.AddUpdateInf.___1_s___n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
mov edi, dword [ebp - 0x3820]
add esp, 0x10
lea ecx, [edi + 0xd0]
push str.___NAME_UPDATEINFS___
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x8a0]
call fcn.004010bc
cmp dword [ebp - 0x88c], 8
lea eax, [ebp - 0x8a0]
cmovae eax, dword [ebp - 0x8a0]
push str.___NAME_UPDATEINFS___
push eax
mov byte [ebp - 4], 0x27
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
jne 0x45234e
cmp dword [esi + 0x14], 8
jb 0x45233d
mov esi, dword [esi]
push esi
push str.__NAME_UPDATEINFS__
lea ecx, [edi + 0xd0]
call fcn.0046c5e0
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0x8a0]
call fcn.00403a7f
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x11
call fcn.0046c546
lea ecx, [ebp - 0x888]
call fcn.0046c48f
mov edi, dword [ebp - 0x3820]
mov byte [ebp - 4], 0x28
lea esi, [edi + 0xcc]
mov ecx, esi
mov dword [ebp - 0x382c], esi
call fcn.0040f453
xor ecx, ecx
inc ecx
cmp eax, ecx
jb 0x45262b
lea ecx, [ebp - 0x858]
call fcn.0046c48f
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 0x29
call fcn.0046c48f
cmp dword [ebp - 0x8a4], 8
lea eax, [ebp - 0x8b8]
cmovae eax, dword [ebp - 0x8b8]
push 0x5cdd84
push eax
mov byte [ebp - 4], 0x2a
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
jne 0x452462
lea esi, [ebx + 0x20]
cmp dword [esi + 0x14], 8
jb 0x4523f6
mov eax, dword [esi]
jmp 0x4523f8
inc edi
jmp 0x45227e
mov eax, esi
test eax, eax
je 0x45245c
cmp dword [esi + 0x14], 8
jb 0x452406
mov eax, dword [esi]
jmp 0x452408
mov eax, esi
xor ecx, ecx
cmp cx, word [eax]
je 0x45245c
cmp dword [esi + 0x14], 8
jb 0x452419
mov eax, dword [esi]
jmp 0x45241b
mov eax, esi
push str.WIRELESS
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
jne 0x452433
push 0x5ce2f8
jmp 0x452451
cmp dword [esi + 0x14], 8
jb 0x45243b
mov esi, dword [esi]
push str.WIRED
push esi
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
jne 0x45245c
push 0x5ce30c
lea ecx, [ebp - 0x8b8]
call fcn.00403b6b
lea esi, [edi + 0xcc]
push str.___EXTIF_SILENTINST___
lea ecx, [edi + 0xd0]
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x3834]
call fcn.00405c1a
push 0x5c0334
lea ecx, [ebp - 0x3834]
mov byte [ebp - 4], 0x2b
call fcn.004088c9
test eax, eax
jne 0x45249d
push 0x5c3e48
jmp 0x4524ca
push 0x5ce344
lea ecx, [ebp - 0x3834]
call fcn.004088c9
test eax, eax
je 0x4524c5
push 0x5ca218
lea ecx, [ebp - 0x3834]
call fcn.004088c9
test eax, eax
jne 0x4524d5
push 0x5cdd84
lea ecx, [ebp - 0x8b8]
call fcn.00403cc8
cmp dword [ebp - 0x8a4], 8
lea eax, [ebp - 0x8b8]
cmovae eax, dword [ebp - 0x8b8]
push str._NOT_SPECIFIED_
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
je 0x452586
xor eax, eax
mov edi, eax
mov ecx, esi
call fcn.0040f453
cmp edi, eax
jae 0x4525f3
push edi
mov ecx, esi
call fcn.0040f1c0
push 0x2c
push eax
lea ecx, [ebp - 0x858]
call fcn.0046d9ee
xor eax, eax
push eax
lea ecx, [ebp - 0x858]
call fcn.0046caa8
push 0x7c
push eax
lea ecx, [ebp - 0x8d0]
call fcn.0046d9ee
cmp dword [ebp - 0x8a4], 8
lea esi, [ebp - 0x8b8]
cmovae esi, dword [ebp - 0x8b8]
xor eax, eax
push eax
lea ecx, [ebp - 0x8d0]
call fcn.0046caa8
push esi
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
jne 0x45257a
mov dword [ebp - 0x3468], edi
jmp 0x4525f3
mov esi, dword [ebp - 0x382c]
inc edi
jmp 0x452502
xor ecx, ecx
cmp dword [edi + 0x460c], ecx
jne 0x4525f9
mov al, byte [ebx + 0xa]
test al, al
jne 0x4525f9
mov edi, ecx
mov esi, ecx
mov ecx, dword [ebp - 0x382c]
call fcn.0040f453
cmp esi, eax
jae 0x4525d1
mov ecx, dword [ebp - 0x382c]
push esi
call fcn.0040f356
test eax, eax
je 0x4525d1
mov ecx, dword [ebp - 0x382c]
push esi
call fcn.0040f356
xor ecx, ecx
cmp cx, word [eax]
je 0x4525d1
inc edi
inc esi
jmp 0x45259b
xor eax, eax
inc eax
cmp edi, eax
ja 0x4525e2
xor eax, eax
mov dword [ebp - 0x3468], eax
jmp 0x4525f3
lea ecx, [ebp - 0x381c]
call fcn.00467058
mov dword [ebp - 0x3828], eax
mov edi, dword [ebp - 0x3820]
mov ecx, dword [ebp - 0x3834]
lea ecx, [ecx - 0x10]
call fcn.0041c730
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 0x29
call fcn.0046c546
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x28
call fcn.0046c546
lea esi, [edi + 0xcc]
cmp dword [ebp - 0x3828], 2
jne 0x452665
mov eax, dword [ebx]
push 7
mov ecx, ebx
call dword [eax + 0xc]
mov dword [edi + 0x4610], 2
mov dword [edi + 0x4630], 6
lea ecx, [ebp - 0x888]
mov byte [ebp - 4], 0x11
call fcn.0046c546
jmp 0x45001f
push dword [ebp - 0x3468]
mov ecx, esi
call fcn.0040f1c0
push 0x2c
push eax
lea ecx, [ebp - 0x888]
call fcn.0046d9ee
lea ecx, [ebp - 0x888]
call fcn.0046c815
xor ecx, ecx
inc ecx
cmp eax, ecx
jbe 0x452ea0
mov ebx, 0x5bef10
push ebx
lea ecx, [ebp - 0x8a0]
call fcn.004010bc
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x2c
call fcn.0046c48f
push ebx
lea ecx, [ebp - 0x918]
mov byte [ebp - 4], 0x2d
call fcn.004010bc
xor eax, eax
mov ecx, esi
mov byte [ebp - 4], 0x2e
mov ebx, eax
call fcn.0040b2ca
push eax
lea ecx, [ebp - 0x870]
call fcn.004010bc
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x888]
mov byte [ebp - 4], 0x2f
call fcn.0046caa8
push eax
lea ecx, [ebp - 0x870]
call fcn.00403b6b
push esi
lea ecx, [edi + 0x46c4]
call fcn.00454b03
xor esi, esi
push esi
lea ecx, [ebp - 0x888]
call fcn.0046caa8
test eax, eax
je 0x4527d0
push esi
lea ecx, [ebp - 0x888]
call fcn.0046caa8
push eax
lea ecx, [ebp - 0x8a0]
call fcn.00403cc8
cmp dword [ebp - 0x88c], 8
lea eax, [ebp - 0x8a0]
cmovae eax, dword [ebp - 0x8a0]
push 0x7c
push eax
lea ecx, [ebp - 0x858]
call fcn.0046d9ee
push esi
lea ecx, [ebp - 0x858]
call fcn.0046caa8
test eax, eax
je 0x4527d0
push esi
lea ecx, [ebp - 0x858]
call fcn.0046caa8
push eax
lea ecx, [ebp - 0x918]
call fcn.00403cc8
cmp dword [ebp - 0x904], 8
lea eax, [ebp - 0x918]
cmovae eax, dword [ebp - 0x918]
push eax
lea esi, [edi + 0xd0]
push str.__NAME_EXTENSION_INTERNAL__
mov ecx, esi
call fcn.0046e541
test eax, eax
jne 0x4527d0
cmp dword [ebp - 0x904], 8
lea eax, [ebp - 0x918]
cmovae eax, dword [ebp - 0x918]
push eax
push str.__NAME_EXTENSION_INTERNAL__
mov ecx, esi
call fcn.0046c5e0
lea eax, [ebp - 0x840]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp dword [ebp - 0x85c], 8
lea eax, [ebp - 0x870]
cmovae eax, dword [ebp - 0x870]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0x101
lea ecx, [ebp - 0x220]
push ecx
push 4
lea ecx, [ebp - 0x1c]
push ecx
push eax
call fcn.0058bead
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x634]
push eax
call fcn.00405b78
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x634]
push eax
call fcn.00405b60
add esp, 0x34
lea eax, [ebp - 0x634]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x3468]
cmp dword [ebp - 0x85c], 8
mov dword [edi + 0x4b78], eax
lea eax, [ebp - 0x870]
cmovae eax, dword [ebp - 0x870]
push eax
call fcn.004042ad
mov edi, eax
pop ecx
test edi, edi
je 0x4529f4
push 2
lea ecx, [ebp - 0x888]
call fcn.0046caa8
push 3
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0046c1d2
add esp, 0x10
cmp dword [ebp - 0x8bc], 0x10
lea eax, [ebp - 0x8d0]
cmovae eax, dword [ebp - 0x8d0]
push eax
push edi
mov byte [ebp - 4], 0x30
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x4529de
push 0x420
xor ebx, ebx
lea eax, [ebp - 0x3028]
push ebx
push eax
call fcn.00587a70
mov dword [ebp - 0x3028], ebx
mov ebx, dword [ebp - 0x382c]
add esp, 0xc
mov ecx, ebx
call fcn.00412fee
movzx eax, ax
mov ecx, ebx
mov dword [ebp - 0x3024], eax
call fcn.0040b2ca
push eax
lea eax, [ebp - 0x3020]
push eax
call fcn.0042d801
push str.start_InstallerExtension._n
mov ebx, str.CIstDrvApp::InitInstance
xor eax, eax
push ebx
push 5
mov dword [ebp - 0x2c0c], 0x453eeb
mov dword [ebp - 0x2c10], eax
call fcn.00423f75
add esp, 0x14
lea eax, [ebp - 0x3020]
push eax
push str.SetupInfo2.strSourcePath
push ebx
push 5
call fcn.00423f57
add esp, 0x10
push dword [ebp - 0x3024]
push str.SetupInfo2.nLangCode0x_1_lx_._n
push ebx
push 5
call fcn.00423f75
add esp, 0x10
lea eax, [ebp - 0x3028]
push eax
push 2
call esi
mov ebx, eax
call fcn.00473832
mov ecx, dword [eax + 4]
push 0x64
xor eax, eax
push eax
add ecx, 0x4608
call fcn.004487f4
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00473832
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0x4608]
call fcn.0043eb3c
push str.end_InstallerExtension._n
mov esi, str.CIstDrvApp::InitInstance
push esi
push 5
call fcn.00423f75
add esp, 0xc
push ebx
push str._ULONG_nRet
push esi
push 5
call fcn.00423f1b
add esp, 0x10
push dword [ebp - 0x2c10]
push str._ULONG_SetupInfo2.nReboot
push esi
push 5
call fcn.00423f1b
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 0x2f
call fcn.00403ecb
mov edi, dword [ebp - 0x3820]
push str.istdrv.debug.ini
xor eax, eax
push eax
push str.AlwaysReboot.InstallerExtension
push str.Setup
mov dword [edi + 0x4b78], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, eax
test esi, esi
je 0x452a39
push esi
push str.DebugInfo_AlwaysReboot_is__1_u__n._n
push str.CIstDrvApp::InitInstance
push 4
call fcn.00423f75
add esp, 0x10
mov dword [ebp - 0x2c10], esi
mov eax, dword [ebp - 0x3824]
mov ecx, dword [ebp - 0x3860]
mov al, byte [eax + 0xf]
push 1
pop esi
test al, al
cmove ecx, esi
mov dword [ebp - 0x3860], ecx
push str.___NAME_OPT_MSETUP___
lea ecx, [edi + 0xd0]
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0x900]
call fcn.00403cc8
cmp dword [ebp - 0x8f0], 0
je 0x452a95
push str.___NAME_OPT_MSETUP___
lea ecx, [ebp - 0x900]
call fcn.0041ee46
test eax, eax
je 0x452a95
mov edi, esi
xor esi, esi
jmp 0x452a99
xor esi, esi
mov edi, esi
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp ebx, 0xc
jne 0x452bae
xor eax, eax
inc eax
cmp dword [ebp - 0x2c10], eax
je 0x452ac3
cmp dword [ebp - 0x2c10], 2
jne 0x452af5
mov ecx, dword [ebp - 0x3820]
mov dword [ebp - 0x3838], eax
lea ecx, [ecx + 0x4608]
call fcn.0044102e
mov ebx, dword [ebp - 0x3824]
test eax, eax
mov eax, dword [ebx]
je 0x452aef
push 2
mov ecx, ebx
call dword [eax + 0x10]
jmp 0x452afb
xor ecx, ecx
inc ecx
push ecx
jmp 0x452ae8
mov ebx, dword [ebp - 0x3824]
push str._NOT_SPECIFIED_
lea ecx, [ebp - 0x8b8]
call fcn.00403cc8
test edi, edi
jne 0x452b51
push esi
inc edi
push edi
lea ecx, [ebp - 0x870]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0x918]
call fcn.00403a7f
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x2c
call fcn.0046c546
push esi
push edi
lea ecx, [ebp - 0x8a0]
call fcn.00403a7f
lea ecx, [ebp - 0x888]
jmp 0x452364
mov eax, dword [ebx]
push 0xc
mov ecx, ebx
call dword [eax + 0xc]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
xor edi, edi
inc edi
push esi
push edi
lea ecx, [ebp - 0x870]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0x918]
call fcn.00403a7f
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x2c
call fcn.0046c546
push esi
push edi
lea ecx, [ebp - 0x1374aaa0]
push ebp
mov ebp, esp
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x4e], 0xd3
mov byte [ebp - 0x4d], 0xc2
mov byte [ebp - 0x4c], 0xca
mov byte [ebp - 0x4b], 0xee
mov byte [ebp - 0x4a], 0xc9
mov byte [ebp - 0x49], 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.00452c21
or bl, ch
xchg ecx, eax
lea eax, gs:[ebp - 0x58]
push eax
call fcn.00452c31
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.00452be6
add esp, 0x10
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x452f0f
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
call fcn.00452c21
rol byte ss:[esi + 0x43], 0x8d
inc ebp
rcl byte [eax - 0x18], 0xc5
cld
invalid
invalid
mov eax, 0x56fffffc
mov byte [ebp - 0x347], 0x56
mov byte [ebp - 0x346], 0x6d
mov byte [ebp - 0x345], 0x40
mov byte [ebp - 0x344], 0x44
mov byte [ebp - 0x343], 0x55
inc dword [eax - 0x3a]
test dword [esp + edi*8 - 0x39bb0001], edi
test dword [ebp + 0x55fffffc], edi
inc dword [esi + eax*8 - 0x7b]
mov ebp, 0x55fffffc
mov byte [ebp - 0x342], 0x25
mov esi, 0x25fffffc
lea eax, [ebp - 0x354]
push eax
call fcn.00452c31
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00452be6
add esp, 0xc
mov dword [ebp - 0x68c], eax
call dword [ebp - 0x68c]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x384], 4
and byte [ebp - 0x334], 0
push 0x40
add byte [edx + 0x40], ch
pop ecx
xor eax, eax
lea edi, [ebp - 0x333]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x670], 4
and byte [ebp - 0x3c4], 0
and byte [ebp - 0x3c3], 0
mov byte [ebp - 0x3c2], 0x99
and byte [ebp - 0x3c1], 0
mov byte [ebp - 0x3c0], 0x21
mov byte [ebp - 0x3bf], 3
mov byte [ebp - 0x3be], 0x12
mov byte [ebp - 0x3bd], 0x2b
mov byte [ebp - 0x3bc], 9
mov byte [ebp - 0x3bb], 2
mov byte [ebp - 0x3ba], 0x13
mov byte [ebp - 0x3b9], 0xa
mov byte [ebp - 0x3b8], 3
mov byte [ebp - 0x3b7], 0x20
mov byte [ebp - 0x3b6], 0xf
mov byte [ebp - 0x3b5], 0xa
mov byte [ebp - 0x3b4], 3
mov byte [ebp - 0x3b3], 0x28
mov byte [ebp - 0x3b2], 7
mov byte [ebp - 0x3b1], 0xb
mov byte [ebp - 0x3b0], 3
mov byte [ebp - 0x3af], 0x27
mov byte [ebp - 0x3ae], 0x66
lea eax, [ebp - 0x3c4]
push eax
call fcn.00452c31
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00452be6
add esp, 0xc
mov dword [ebp - 0x538], eax
and byte [ebp - 0x3ec], 0
and byte [ebp - 0x3eb], 0
mov byte [ebp - 0x3ea], 0x11
and byte [ebp - 0x3e9], 0
mov byte [ebp - 0x3e8], 0xa9
mov byte [ebp - 0x3e7], 0x8b
mov byte [ebp - 0x3e6], 0x9a
mov byte [ebp - 0x3e5], 0xa3
mov byte [ebp - 0x3e4], 0x81
mov byte [ebp - 0x3e3], 0x8a
mov byte [ebp - 0x3e2], 0x9b
mov byte [ebp - 0x3e1], 0x82
mov byte [ebp - 0x3e0], 0x8b
mov byte [ebp - 0x3df], 0xa6
mov byte [ebp - 0x3de], 0x8f
mov byte [ebp - 0x3dd], 0x80
mov byte [ebp - 0x3dc], 0x8a
mov byte [ebp - 0x3db], 0x82
mov byte [ebp - 0x3da], 0x8b
mov byte [ebp - 0x3d9], 0xaf
mov byte [ebp - 0x3d8], 0xee
lea eax, [ebp - 0x3ec]
push eax
call fcn.00452c31
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00452be6
add esp, 0xc
mov dword [ebp - 0x340], eax
call fcn.00452c21
sbb eax, 0x806ce926
movsd dword es:[edi], dword [esi]
int3
dec edi
stc
invalid
mov byte [ebp - 0x1c], 0xa5
mov byte [ebp - 0x1b], 0x87
mov byte [ebp - 0x1a], 0x96
mov byte [ebp - 0x19], 0xb6
mov byte [ebp - 0x18], 0x87
mov byte [ebp - 0x17], 0x8f
mov byte [ebp - 0x16], 0x92
mov byte [ebp - 0x15], 0xb2
mov byte [ebp - 0x14], 0x83
mov byte [ebp - 0x13], 0x96
mov byte [ebp - 0x12], 0x8a
mov byte [ebp - 0x11], 0xa3
mov byte [ebp - 0x10], 0xe2
lea eax, [ebp - 0x20]
push eax
call fcn.00452c31
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00452be6
add esp, 0xc
mov dword [ebp - 0x370], eax
lea eax, [ebp - 0x654]
push eax
push 0x104
call dword [ebp - 0x370]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x28]
movsx eax, byte [ebp + eax - 0x12d]
cmp eax, 0x5c
jne 0x453ccd
invalid
invalid
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x550]
movsx eax, byte [ebp + eax - 0x655]
cmp eax, 0x5c
jne 0x453ced
mov eax, dword [ebp - 0x550]
dec eax
mov dword [ebp - 0x550], eax
and dword [ebp - 0x338], 0
and dword [ebp - 0x3d0], 0
jmp 0x453d0a
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
cmp dword [ebp - 0x3d0], 0x104
jge 0x453d71
mov eax, dword [ebp - 0x3d0]
movsx eax, byte [ebp + eax - 0x334]
and eax, 0x80
test eax, eax
je 0x453d3c
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
jmp 0x453d6f
mov eax, dword [ebp - 0x3d0]
movsx eax, byte [ebp + eax - 0x334]
cmp eax, 0x5c
jne 0x453d5b
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x3d0]
movsx eax, byte [ebp + eax - 0x334]
test eax, eax
jne 0x453d6f
jmp 0x453d71
jmp 0x453cfd
mov eax, dword [ebp - 0x670]
add eax, dword [ebp - 0x384]
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x670]
inc eax
mov dword [ebp - 0x670], eax
push dword [ebp - 0x338]
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.00452b92
add esp, 0xc
mov eax, dword [ebp - 0x670]
inc eax
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x670]
inc eax
mov dword [ebp - 0x670], eax
and dword [ebp - 4], 0
and dword [ebp - 0x3a0], 0
and dword [ebp - 0x37c], 0
and dword [ebp - 0x388], 0
and dword [ebp - 0x374], 0
mov al, byte [ebp - 8]
add al, byte [ebp - 0x670]
mov byte [ebp - 8], al
mov eax, dword [ebp + 8]
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x548]
mov ecx, dword [ebp - 0x548]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x53c], ecx
mov eax, dword [ebp - 0x53c]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x28]
mov dword [ebp - 0x3a8], ecx
mov al, byte [ebp - 0x24]
sub al, byte [ebp - 0x670]
mov byte [ebp - 0x24], al
call fcn.00452bff
mov edx, 0x4a580a9
cld
invalid