Function at 0x480c30
Capabilities:
Get file version info
Read .ini file

Disassembly:
push ebp
lea ebp, [esp - 0x9004]
mov eax, 0x9004
call fcn.004fe1a0
push 0xffffffffffffffff
push 0x51f470
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x5a4aa8]
xor eax, ebp
mov dword [ebp + 0x9000], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0x900c]
mov dword [ebp - 0x1c], eax
mov ebx, ecx
mov edi, edx
mov dword [ebp - 0x30], edi
mov esi, dword [ebp + 0x9010]
mov dword [ebp - 0x14], 3
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 4], eax
cmp ebx, eax
je 0x48278a
mov eax, ebx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x480cb0
sub eax, edx
sar eax, 1
je 0x48278a
test edi, edi
je 0x48278a
mov edi, dword [ebp - 0x1c]
add edi, 0xe230
cmp dword [edi], 0
je 0x482783
mov eax, dword [ebp - 0x1c]
add eax, 0x2050
call fcn.00407ed0
test al, al
je 0x482783
push 0x200
push 0
lea ecx, [ebp + 0x8e00]
push ecx
call fcn.004fd670
push 2
push 0x56408c
push ebx
call fcn.004fac8a
add esp, 0x18
push 0xff
test eax, eax
jne 0x480d36
mov byte [ebp - 0x1d], 1
add ebx, 4
push ebx
push pe_nt_image_headers32
lea edx, [ebp + 0x8e00]
push edx
jmp 0x480d47
mov byte [ebp - 0x1d], 0
push ebx
push pe_nt_image_headers32
lea eax, [ebp + 0x8e00]
push eax
call fcn.004fa71b
add esp, 0x10
push 0x800
xor ebx, ebx
push ebx
lea ecx, [ebp + 0x7200]
push ecx
call fcn.004fd670
push 0x800
push ebx
lea edx, [ebp + 0x8600]
push edx
call fcn.004fd670
push 0x54e914
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 0x20
test eax, eax
jne 0x480ec7
mov byte [ebp - 0x25], 1
push 0x800
push ebx
lea ecx, [ebp + 0x8600]
push ecx
call fcn.004fd670
push 1
push 0x800
lea edx, [ebp + 0x8600]
push edx
push str.Selected
mov eax, dword [edi]
push eax
mov edx, str.InstallingSetupFoundPrinter
call fcn.004920e0
add esp, 0x20
test eax, eax
jne 0x480f6b
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
lea edx, [ebp + 0x8600]
push edx
push str.InstallingSetupFoundPrinter_s
lea edx, [ebp + 0x7c00]
call fcn.00404380
push 0x200
push ebx
lea eax, [ebp + 0x7a00]
push eax
call fcn.004fd670
push 1
push 0x200
lea ecx, [ebp + 0x7a00]
push ecx
push 0x53e0f8
mov edx, dword [edi]
push edx
lea edx, [ebp + 0x7c00]
call fcn.004920e0
add esp, 0x34
test eax, eax
jne 0x480e58
push str.network
lea eax, [ebp + 0x7a00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
je 0x480e58
mov byte [ebp - 0x25], bl
mov dword [ebp - 0x14], ebx
jmp 0x4826cf
push 0x800
push ebx
lea ecx, [ebp + 0x8600]
push ecx
call fcn.004fd670
push 1
push 0x800
lea edx, [ebp + 0x8600]
push edx
push 0x54cc34
mov eax, dword [edi]
push eax
lea edx, [ebp + 0x7c00]
call fcn.004920e0
add esp, 0x20
test eax, eax
je 0x482152
push 1
push 0x800
lea ecx, [ebp + 0x8600]
push ecx
push 0x54e914
mov edx, dword [edi]
push edx
lea edx, [ebp + 0x7c00]
call fcn.004920e0
add esp, 0x14
test eax, eax
jne 0x480f6b
jmp 0x480f4b
push str.PORT
lea ecx, [ebp + 0x8e00]
push ecx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x480f73
cmp esi, ebx
je 0x480f20
mov eax, esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x480ef0
sub eax, edx
sar eax, 1
je 0x480f20
push str.Port
push esi
push edi
mov eax, 0x400
lea edx, [ebp + 0x8600]
call fcn.004051f0
test eax, eax
je 0x482152
push 1
push 0x800
lea ecx, [ebp + 0x8600]
push ecx
push str.Port
mov edx, dword [edi]
push edx
mov edx, str.InstallingModel
call fcn.004920e0
add esp, 0x14
test eax, eax
jne 0x481c89
lea eax, [ebp + 0x8600]
push 0x3ff
push eax
push 0x400
lea ecx, [ebp + 0x7200]
push ecx
call fcn.004fa71b
add esp, 0x10
mov dword [ebp - 0x14], ebx
jmp 0x4826cf
push 0x53e110
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x480fee
mov esi, dword [ebp - 0x1c]
add esi, 0xf044
mov eax, esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x480fa0
sub eax, edx
sar eax, 1
jne 0x480fcc
push 0x53e110
push str.InstallingModel
push edi
mov eax, pe_nt_image_headers32
mov edx, esi
call fcn.004051f0
test eax, eax
je 0x480fcf
mov dword [ebp - 0x14], ebx
push 0x3ff
push esi
push 0x400
lea eax, [ebp + 0x7200]
push eax
call fcn.004fa71b
add esp, 0x10
jmp 0x481c7e
push 0x53e118
lea ecx, [ebp + 0x8e00]
push ecx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4810d4
mov esi, dword [ebp - 0x1c]
add esi, 0xf244
mov eax, esi
lea edx, [eax + 2]
jmp 0x481020
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481020
sub eax, edx
sar eax, 1
jne 0x4820a9
push 0x800
push ebx
lea edx, [ebp + 0x8600]
push edx
call fcn.004fd670
push 1
push 0x800
lea eax, [ebp + 0x8600]
push eax
push str.Selected
mov ecx, dword [edi]
push ecx
mov edx, str.InstallingModel
call fcn.004920e0
add esp, 0x20
test eax, eax
je 0x48109e
push 0x800
push ebx
lea edx, [ebp + 0x8600]
push edx
call fcn.004fd670
push 0x3ff
push 0x53e22c
push 0x400
lea eax, [ebp + 0x8600]
push eax
call fcn.004fa71b
add esp, 0x1c
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
lea edx, [ebp + 0x8600]
push edx
push str.InstallingModel_s
lea edx, [ebp + 0x7c00]
call fcn.00404380
add esp, 0x14
push 0x53e118
jmp 0x48149e
push str.VIDPID
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4811e9
mov esi, dword [ebp - 0x1c]
add esi, 0xf444
mov eax, esi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481100
sub eax, edx
sar eax, 1
jne 0x4811c7
push 0x800
push ebx
lea eax, [ebp + 0x8600]
push eax
call fcn.004fd670
push 1
push 0x800
lea ecx, [ebp + 0x8600]
push ecx
push str.Selected
mov edx, dword [edi]
push edx
mov edx, str.InstallingModel
call fcn.004920e0
add esp, 0x20
test eax, eax
je 0x48117e
push 0x800
push ebx
lea eax, [ebp + 0x8600]
push eax
call fcn.004fd670
push 0x3ff
push 0x53e22c
push 0x400
lea ecx, [ebp + 0x8600]
push ecx
call fcn.004fa71b
add esp, 0x1c
push 0x800
push ebx
lea edx, [ebp + 0x7c00]
push edx
call fcn.004fd670
lea eax, [ebp + 0x8600]
push eax
push str.InstallingModel_s
lea edx, [ebp + 0x7c00]
call fcn.00404380
add esp, 0x14
push str.VIDPID
lea ecx, [ebp + 0x7c00]
push ecx
push edi
mov eax, pe_nt_image_headers32
mov edx, esi
call fcn.004051f0
test eax, eax
jne 0x4811ca
mov dword [ebp - 0x14], ebx
push 0x3ff
push esi
push 0x400
lea edx, [ebp + 0x7200]
push edx
call fcn.004fa71b
add esp, 0x10
jmp 0x481c7e
push str.SCAN_CID
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4812f9
push 0x800
push ebx
lea ecx, [ebp + 0x8600]
push ecx
call fcn.004fd670
push 1
push 0x800
lea edx, [ebp + 0x8600]
push edx
push str.Selected
mov eax, dword [edi]
push eax
mov edx, str.InstallingModel
call fcn.004920e0
add esp, 0x20
test eax, eax
je 0x48126e
push 0x800
push ebx
lea ecx, [ebp + 0x8600]
push ecx
call fcn.004fd670
push 0x3ff
push 0x53e22c
push 0x400
lea edx, [ebp + 0x8600]
push edx
call fcn.004fa71b
add esp, 0x1c
push 0x800
push ebx
lea eax, [ebp + 0x7c00]
push eax
call fcn.004fd670
lea ecx, [ebp + 0x8600]
push ecx
push str.InstallingModel_s
lea edx, [ebp + 0x7c00]
call fcn.00404380
push 0x800
push ebx
lea edx, [ebp + 0x8600]
push edx
call fcn.004fd670
push 1
push 0x800
lea eax, [ebp + 0x8600]
push eax
push str.SCAN_CID
mov ecx, dword [edi]
push ecx
lea edx, [ebp + 0x7c00]
call fcn.004920e0
add esp, 0x34
test eax, eax
jne 0x4812d4
mov dword [ebp - 0x14], ebx
push 0x3ff
lea edx, [ebp + 0x8600]
push edx
push 0x400
lea eax, [ebp + 0x7200]
push eax
call fcn.004fa71b
add esp, 0x10
jmp 0x481c7e
push str.MODEL_DIR
lea ecx, [ebp + 0x8e00]
push ecx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4813d7
mov esi, dword [ebp - 0x1c]
add esi, 0xf644
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481323
sub eax, edx
sar eax, 1
jne 0x4820a9
push 0x800
push ebx
lea edx, [ebp + 0x8600]
push edx
call fcn.004fd670
push 1
push 0x800
lea eax, [ebp + 0x8600]
push eax
push str.Selected
mov ecx, dword [edi]
push ecx
mov edx, str.InstallingModel
call fcn.004920e0
add esp, 0x20
test eax, eax
je 0x4813a1
push 0x800
push ebx
lea edx, [ebp + 0x8600]
push edx
call fcn.004fd670
push 0x3ff
push 0x53e22c
push 0x400
lea eax, [ebp + 0x8600]
push eax
call fcn.004fa71b
add esp, 0x1c
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
lea edx, [ebp + 0x8600]
push edx
push str.InstallingModel_s
lea edx, [ebp + 0x7c00]
call fcn.00404380
add esp, 0x14
push 0x54fbc4
jmp 0x48149e
push str.MODEL_NAME
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4814bf
mov esi, dword [ebp - 0x1c]
add esi, 0xf844
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481401
sub eax, edx
sar eax, 1
jne 0x4820a9
push 1
push 0x800
lea eax, [ebp + 0x8600]
push eax
push str.Selected
mov ecx, dword [edi]
push ecx
mov edx, str.InstallingModel
call fcn.004920e0
add esp, 0x14
test eax, eax
je 0x48146d
push 0x800
push ebx
lea edx, [ebp + 0x8600]
push edx
call fcn.004fd670
push 0x3ff
push 0x53e22c
push 0x400
lea eax, [ebp + 0x8600]
push eax
call fcn.004fa71b
add esp, 0x1c
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
lea edx, [ebp + 0x8600]
push edx
push str.InstallingModel_s
lea edx, [ebp + 0x7c00]
call fcn.00404380
add esp, 0x14
push 0x54bb6c
lea eax, [ebp + 0x7c00]
push eax
push edi
mov eax, pe_nt_image_headers32
mov edx, esi
call fcn.004051f0
test eax, eax
jne 0x4820ac
jmp 0x4820a9
push str.COMP_INF
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x481544
cmp esi, ebx
je 0x481544
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4814e0
sub eax, edx
sar eax, 1
je 0x481544
push 0x53b8ec
push esi
push edi
mov eax, 0x400
lea edx, [ebp + 0x8600]
call fcn.004051f0
test eax, eax
jne 0x481c89
push ebx
push 0x400
lea eax, [ebp + 0x6200]
push eax
lea ecx, [ebp + 0x8600]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.00480760
lea edx, [ebp + 0x6200]
push edx
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
lea eax, [ebp + 0x6200]
jmp 0x480f51
push str.COMP_DIR
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x481592
cmp esi, ebx
je 0x481592
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481565
sub eax, edx
sar eax, 1
je 0x481592
push str.Comp_Dir
push esi
push edi
mov eax, 0x400
lea edx, [ebp + 0x8600]
call fcn.004051f0
jmp 0x480f43
push str.SRC_COMP_INF
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4815e0
cmp esi, ebx
je 0x4815e0
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4815b3
sub eax, edx
sar eax, 1
je 0x4815e0
push 0x53b8ec
push esi
push edi
mov eax, 0x400
lea edx, [ebp + 0x8600]
call fcn.004051f0
jmp 0x480f43
push str.DEST_COMP_INF
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4818a9
cmp esi, ebx
je 0x4818a9
mov eax, esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481610
sub eax, edx
sar eax, 1
je 0x4818a9
push 0x800
push ebx
lea eax, [ebp + 0x6200]
push eax
call fcn.004fd670
push 0x800
push ebx
lea ecx, [ebp + 0x3000]
push ecx
call fcn.004fd670
push 0x800
push ebx
lea edx, [ebp + 0x5000]
push edx
call fcn.004fd670
push 0x800
push ebx
lea eax, [ebp + 0x4000]
push eax
call fcn.004fd670
add esp, 0x30
push 0x53b8ec
push esi
push edi
mov eax, 0x400
lea edx, [ebp + 0x6200]
call fcn.004051f0
test eax, eax
jne 0x481c89
mov dword [ebp - 0x48], ebx
push 4
push 4
lea ecx, [ebp - 0x48]
push ecx
push str.UpdateSetting
mov edx, dword [edi]
push edx
mov edx, esi
call fcn.004920e0
add esp, 0x14
test eax, eax
jne 0x4816e5
cmp dword [ebp - 0x48], ebx
je 0x4816e5
push str.Update_Temp_Dir
push esi
push edi
mov eax, 0x400
lea edx, [ebp + 0x5000]
call fcn.004051f0
test eax, eax
je 0x4816e5
push 0x800
push ebx
lea eax, [ebp + 0x5000]
push eax
call fcn.004fd670
add esp, 0xc
lea eax, [ebp + 0x5000]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4816f0
sub eax, edx
sar eax, 1
jne 0x48173d
push 1
push 0x800
lea ecx, [ebp + 0x5000]
push ecx
push str.CD_Source_Dir
mov edx, dword [edi]
push edx
mov edx, str.InstallingSetupProgram
call fcn.004920e0
add esp, 0x14
test eax, eax
je 0x48173d
push 0x800
push ebx
lea eax, [ebp + 0x5000]
push eax
call fcn.004fd670
add esp, 0xc
push 1
push 0x800
lea ecx, [ebp + 0x3000]
push ecx
push str.Inst_Dest_Dir
mov edx, dword [edi]
push edx
mov edx, str.InstallingSetupProgram
call fcn.004920e0
add esp, 0x14
test eax, eax
jne 0x481c89
lea eax, [ebp + 0x5000]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481771
sub eax, edx
sar eax, 1
je 0x481c89
push ebx
push 0x400
lea eax, [ebp + 0x8600]
push eax
lea ecx, [ebp + 0x6200]
push ecx
mov esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.00480760
push ebx
push 0x400
lea edx, [ebp + 0x4000]
push edx
lea eax, [ebp + 0x3000]
push eax
mov ecx, esi
call fcn.00480760
push ebx
push 0x400
lea ecx, [ebp + 0x4800]
push ecx
lea edx, [ebp + 0x5000]
push edx
mov ecx, esi
call fcn.00480760
lea eax, [ebp + 0x4000]
push eax
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
call esi
lea ecx, [ebp + 0x4800]
push ecx
call esi
lea eax, [ebp + 0x4800]
lea edx, [eax + 2]
jmp 0x481800
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481800
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp + 0x4800]
push edx
lea eax, [ebp + 0x8600]
push eax
call fcn.004fac8a
add esp, 0xc
test eax, eax
jne 0x481881
push 0x800
push ebx
lea ecx, [ebp + 0x6200]
push ecx
call fcn.004fd670
add esp, 0xc
lea eax, [ebp + 0x4800]
lea edx, [eax + 2]
jmp 0x481850
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481850
sub eax, edx
sar eax, 1
lea edx, [ebp + eax*2 + 0x8600]
push edx
lea eax, [ebp + 0x4000]
push eax
push 0x54ffb0
lea edx, [ebp + 0x6200]
call fcn.00404380
add esp, 0xc
push 0x3ff
lea ecx, [ebp + 0x6200]
push ecx
push 0x400
lea edx, [ebp + 0x7200]
push edx
call fcn.004fa71b
add esp, 0x10
mov dword [ebp - 0x14], ebx
jmp 0x4826cf
push str.DISPLAY_NAME
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x481928
cmp esi, ebx
je 0x481928
mov eax, esi
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4818d0
sub eax, edx
sar eax, 1
je 0x481928
push str.Display_Name
push esi
push edi
mov eax, 0x400
lea edx, [ebp + 0x8600]
call fcn.004051f0
test eax, eax
jne 0x481c89
push 0x3ff
lea ecx, [ebp + 0x8600]
push ecx
push 0x400
lea edx, [ebp + 0x7200]
push edx
call fcn.004fa71b
add esp, 0x10
mov dword [ebp - 0x14], ebx
jmp 0x4826cf
push str.DRIVER_NAME
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x48196b
cmp esi, ebx
je 0x48196b
mov eax, esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481950
sub eax, edx
sar eax, 1
je 0x48196b
push str.Driver
jmp 0x4818e6
push str.PRINTER_NAME
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4819ab
cmp esi, ebx
je 0x4819ab
mov eax, esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481990
sub eax, edx
sar eax, 1
je 0x4819ab
push str.Printer
jmp 0x4818e6
push str.VERSION
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x481b16
mov dword [ebp - 0x14], ebx
mov esi, dword [ebp - 0x1c]
add esi, 0xea44
mov eax, esi
lea edx, [eax + 2]
jmp 0x4819e0
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4819e0
sub eax, edx
sar eax, 1
jne 0x4826cf
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
push 1
push 0x800
lea edx, [ebp + 0x7c00]
push edx
push str.CD_Source_Dir
mov eax, dword [edi]
push eax
mov edx, str.InstallingSetupProgram
call fcn.004920e0
add esp, 0x20
test eax, eax
jne 0x481af4
lea ecx, [ebp + 0x7c00]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x800
push ebx
lea edx, [ebp + 0x6a00]
push edx
call fcn.004fd670
push str.CD.ver
lea eax, [ebp + 0x7c00]
push eax
push 0x535a74
lea edx, [ebp + 0x6a00]
call fcn.00404380
add esp, 0x18
lea edx, [ebp + 0x6a00]
call fcn.00493960
test al, al
je 0x481a9d
lea ecx, [ebp + 0x6a00]
push ecx
push pe_nt_image_headers32
push esi
push 0x535a4c
push str.version
push str.Version
jmp 0x481aea
push 0x800
push ebx
lea edx, [ebp + 0x6a00]
push edx
call fcn.004fd670
push str.Autorun.inf
lea eax, [ebp + 0x7c00]
push eax
push 0x535a74
lea edx, [ebp + 0x6a00]
call fcn.00404380
add esp, 0x18
lea ecx, [ebp + 0x6a00]
push ecx
push pe_nt_image_headers32
push esi
push 0x535a4c
push str.VERSION
push str.INFOMATION
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x481af7
mov dword [ebp - 0x14], ebx
push 0x3ff
push esi
push 0x400
lea edx, [ebp + 0x7200]
push edx
call fcn.004fa71b
add esp, 0x10
jmp 0x4826cf
push str.TOTALEXE_VERSION
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x481eb6
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], ebx
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
push 0x800
push ebx
lea edx, [ebp + 0x6a00]
push edx
call fcn.004fd670
add esp, 0x18
push 0x400
lea eax, [ebp + 0x6a00]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x481c4f
push 0x5c
lea ecx, [ebp + 0x6a00]
push ecx
call fcn.004fa6eb
add esp, 8
cmp eax, ebx
je 0x481b9d
mov word [eax], bx
push 0x3ff
lea edx, [ebp + 0x6a00]
push edx
push 0x400
lea eax, [ebp + 0x800]
push eax
call fcn.004fa71b
push str.totalUninstaller.exe
push str.Setup_bin
lea ecx, [ebp + 0x800]
push ecx
push 0x535788
lea edx, [ebp + 0x7c00]
call fcn.00404380
add esp, 0x20
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp + 0x7c00]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
test esi, esi
je 0x481c4f
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
mov dword [ebp - 0x5c], ebx
push ebx
push esi
mov ecx, dword [ebp - 0x50]
push ecx
lea edx, [ebp + 0x7c00]
push edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x481c4f
test ebx, ebx
je 0x481c4f
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x4c]
push ecx
push str.StringFileInfo040904e4FileVersion
push ebx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x481c4f
push 0x3ff
mov edx, dword [ebp - 0x4c]
push edx
push 0x400
lea eax, [ebp]
push eax
call fcn.004fa71b
add esp, 0x10
jmp 0x481c56
mov dword [ebp - 0x14], 1
push 0x3ff
lea ecx, [ebp]
push ecx
push 0x400
lea edx, [ebp + 0x7200]
push edx
call fcn.004fa71b
add esp, 0x10
test ebx, ebx
je 0x481c7e
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor ebx, ebx
cmp dword [ebp - 0x14], ebx
je 0x4826cf
push 0x200
push ebx
lea edx, [ebp + 0x8400]
push edx
call fcn.004fd670
push 0x200
push ebx
lea eax, [ebp + 0x7a00]
push eax
call fcn.004fd670
push 0xff
lea ecx, [ebp + 0x8e00]
push ecx
push pe_nt_image_headers32
lea edx, [ebp + 0x8400]
push edx
call fcn.004fa71b
push 0x2e
lea eax, [ebp + 0x8400]
push eax
call fcn.004fa842
add esp, 0x30
mov esi, eax
cmp esi, ebx
je 0x481d63
push 0xff
lea ecx, [esi + 2]
push ecx
push pe_nt_image_headers32
lea edx, [ebp + 0x7a00]
push edx
call fcn.004fa71b
mov word [esi], bx
push 0x800
push ebx
lea eax, [ebp + 0x5800]
push eax
call fcn.004fd670
lea ecx, [ebp + 0x8400]
push ecx
push str.Components
push str.Installing
push 0x535788
lea edx, [ebp + 0x5800]
call fcn.00404380
push 1
push 0x800
lea edx, [ebp + 0x8600]
push edx
lea eax, [ebp + 0x7a00]
push eax
mov ecx, dword [edi]
push ecx
lea edx, [ebp + 0x5800]
call fcn.004920e0
add esp, 0x40
test eax, eax
je 0x482152
push 0x800
push 0
lea ecx, [ebp + 0x8600]
push ecx
call fcn.004fd670
push 0x800
push 0
lea edx, [ebp + 0x5800]
push edx
call fcn.004fd670
push 0x200
push 0
lea eax, [ebp + 0x7a00]
push eax
call fcn.004fd670
push 0x800
push 0
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
lea edx, [ebp + 0x8e00]
push edx
push str.INSTALL_VARIABLES
push 0x5352d4
lea edx, [ebp + 0x7c00]
call fcn.00404380
add esp, 0x3c
push 0x400
lea eax, [ebp + 0x5800]
push eax
mov ebx, str.path
lea edx, [ebp + 0x7c00]
mov esi, dword [ebp - 0x1c]
add esi, 0x2050
mov ecx, esi
call fcn.00487fa0
test eax, eax
jne 0x48271f
push pe_nt_image_headers32
lea ecx, [ebp + 0x7a00]
push ecx
mov ebx, str.value
lea edx, [ebp + 0x7c00]
mov ecx, esi
call fcn.00487fa0
test eax, eax
jne 0x48271f
push pe_nt_image_headers32
lea edx, [ebp + 0x6000]
push edx
mov ebx, str.reg_type
lea edx, [ebp + 0x7c00]
mov ecx, esi
call fcn.00487fa0
test eax, eax
jne 0x481e62
push str.REG_DWORD
lea eax, [ebp + 0x6000]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
mov eax, 4
je 0x481e65
mov eax, dword [ebp - 0x24]
sub eax, 1
je 0x482678
sub eax, 3
jne 0x48271f
push 4
push 4
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp + 0x7a00]
push edx
mov eax, dword [edi]
push eax
lea edx, [ebp + 0x5800]
call fcn.004920e0
add esp, 0x14
test eax, eax
jne 0x48271f
cmp byte [ebp - 0x1d], al
je 0x482658
mov ecx, dword [ebp - 0x2c]
push ecx
push 0x56443c
jmp 0x482661
push str.DATE
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x482052
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x1c]
add eax, 0xec44
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x481ee0
sub eax, edx
sar eax, 1
jne 0x48202e
mov dword [ebp - 0x58], 0x7d0
mov esi, 1
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], esi
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
push esi
push 0x800
lea edx, [ebp + 0x7c00]
push edx
push str.CD_Source_Dir
mov eax, dword [edi]
push eax
mov edx, str.InstallingSetupProgram
call fcn.004920e0
add esp, 0x20
test eax, eax
jne 0x48202e
lea ecx, [ebp + 0x7c00]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x800
push ebx
lea edx, [ebp + 0x6a00]
push edx
call fcn.004fd670
push str.CD.ver
lea eax, [ebp + 0x7c00]
push eax
push 0x535a74
lea edx, [ebp + 0x6a00]
call fcn.00404380
add esp, 0x18
lea edx, [ebp + 0x6a00]
call fcn.00493960
test al, al
je 0x48202e
lea ecx, [ebp + 0x6a00]
push ecx
push 0x7d0
push str.year
push str.Date
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
call esi
mov ebx, eax
mov dword [ebp - 0x58], ebx
lea edx, [ebp + 0x6a00]
push edx
push 1
push str.month
push str.Date
call esi
mov edi, eax
mov dword [ebp - 0x18], edi
lea eax, [ebp + 0x6a00]
push eax
push 1
push 0x5642a0
push str.Date
call esi
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ecx
mov word [ebp - 0x6c], bx
mov word [ebp - 0x6a], di
mov word [ebp - 0x66], ax
push pe_nt_image_headers32
mov eax, dword [ebp - 0x1c]
add eax, 0xec44
push eax
push ecx
lea ecx, [ebp - 0x6c]
push ecx
push 1
push 0x400
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
test eax, eax
je 0x48202e
mov dword [ebp - 0x14], 0
push 0x3ff
mov eax, dword [ebp - 0x1c]
add eax, 0xec44
push eax
push 0x400
lea edx, [ebp + 0x7200]
push edx
call fcn.004fa71b
jmp 0x4826ca
push str.INSTALLER_EXE
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4820cb
mov esi, dword [ebp - 0x1c]
add esi, 0xee44
mov eax, esi
lea edx, [eax + 2]
jmp 0x482080
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x482080
sub eax, edx
sar eax, 1
jne 0x4820a9
push pe_nt_image_headers32
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x4820ac
push esi
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
mov dword [ebp - 0x14], ebx
push 0x3ff
push esi
push 0x400
lea ecx, [ebp + 0x7200]
push ecx
call fcn.004fa71b
add esp, 0x10
jmp 0x481c7e
push str.SRC_DIR
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x48217a
cmp esi, ebx
je 0x48217a
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4820f4
sub eax, edx
sar eax, 1
je 0x48217a
mov dword [ebp - 0x34], ebx
push 4
push 4
lea eax, [ebp - 0x34]
push eax
push str.UpdateSetting
mov ecx, dword [edi]
push ecx
mov edx, esi
call fcn.004920e0
add esp, 0x14
test eax, eax
jne 0x481c89
cmp dword [ebp - 0x34], ebx
je 0x481c89
push str.Update_Temp_Dir
push esi
push edi
mov eax, 0x400
lea edx, [ebp + 0x8600]
call fcn.004051f0
test eax, eax
jne 0x481c89
push 0x3ff
lea edx, [ebp + 0x8600]
push edx
push 0x400
lea eax, [ebp + 0x7200]
push eax
call fcn.004fa71b
add esp, 0x10
mov dword [ebp - 0x14], ebx
jmp 0x4826cf
push str.EPM_DEVICE_LIST
lea ecx, [ebp + 0x8e00]
push ecx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x482207
push 0x800
push ebx
lea edx, [ebp + 0x3800]
push edx
call fcn.004fd670
push 0x800
push ebx
lea eax, [ebp + 0x7c00]
push eax
call fcn.004fd670
push 0x5642f4
push str.InstallingComponents
push 0x535a74
lea edx, [ebp + 0x7c00]
call fcn.00404380
push 1
push 0x800
lea ecx, [ebp + 0x3800]
push ecx
push str.DeviceList_RegPath
mov edx, dword [edi]
push edx
lea edx, [ebp + 0x7c00]
call fcn.004920e0
add esp, 0x38
test eax, eax
jne 0x481c89
lea eax, [ebp + 0x3800]
jmp 0x480f51
push 8
push str.DEVICEID
lea edx, [ebp + 0x8e00]
push edx
call fcn.004fac8a
add esp, 0xc
test eax, eax
jne 0x4823cf
push 0x2000
push ebx
lea eax, [ebp + 0x1000]
push eax
call fcn.004fd670
push 0x800
push ebx
lea ecx, [ebp + 0x8600]
push ecx
call fcn.004fd670
push 1
push 0x800
lea edx, [ebp + 0x8600]
push edx
push str.Selected
mov eax, dword [edi]
push eax
mov edx, str.InstallingSetupFoundPrinter
call fcn.004920e0
add esp, 0x2c
test eax, eax
jne 0x480f6b
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
lea edx, [ebp + 0x8600]
push edx
push str.InstallingSetupFoundPrinter_s
lea edx, [ebp + 0x7c00]
call fcn.00404380
push 1
push 0x2000
lea eax, [ebp + 0x1000]
push eax
push 0x546bf8
mov ecx, dword [edi]
push ecx
lea edx, [ebp + 0x7c00]
call fcn.004920e0
add esp, 0x28
test eax, eax
jne 0x480f6b
push str.DEVICEID
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4822ec
lea eax, [ebp + 0x1000]
jmp 0x480f51
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x40], 0x3b
push 0x200
push ebx
lea edx, [ebp + 0x8400]
push edx
call fcn.004fd670
push 0xff
lea eax, [ebp + 0x8e12]
push eax
push pe_nt_image_headers32
lea ecx, [ebp + 0x8400]
push ecx
call fcn.004fa71b
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp + 0x1000]
push ecx
call fcn.004fa864
add esp, 0x28
mov esi, eax
cmp esi, ebx
je 0x480f6b
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x482350
sub eax, edx
sar eax, 1
je 0x480f6b
push 0x3a
push esi
call fcn.004fa842
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x4823b6
mov word [ebx], 0
lea edx, [ebp + 0x8400]
push edx
push esi
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x4823b6
push 0x3ff
add ebx, 2
push ebx
push 0x400
lea eax, [ebp + 0x7200]
push eax
call fcn.004fa71b
add esp, 0x10
xor ebx, ebx
mov dword [ebp - 0x14], ebx
jmp 0x4826cf
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x40]
push edx
push 0
call fcn.004fa864
add esp, 0xc
xor ebx, ebx
jmp 0x48233c
push str.MACADDR
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x482499
push 0x800
push ebx
lea ecx, [ebp + 0x8600]
push ecx
call fcn.004fd670
push 1
push 0x800
lea edx, [ebp + 0x8600]
push edx
push str.Selected
mov eax, dword [edi]
push eax
mov edx, str.InstallingSetupFoundPrinter
call fcn.004920e0
add esp, 0x20
test eax, eax
jne 0x482450
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
lea edx, [ebp + 0x8600]
push edx
push str.InstallingSetupFoundPrinter_s
lea edx, [ebp + 0x7c00]
call fcn.00404380
add esp, 0x14
push 0x200
push ebx
lea eax, [ebp + 0x8400]
push eax
call fcn.004fd670
push 1
push 0x200
lea ecx, [ebp + 0x8400]
push ecx
push 0x553564
mov edx, dword [edi]
push edx
lea edx, [ebp + 0x7c00]
call fcn.004920e0
add esp, 0x20
test eax, eax
jne 0x481c89
lea eax, [ebp + 0x8400]
jmp 0x480f51
push 0xb
push str.EXTDEVICEID
lea edx, [ebp + 0x8e00]
push edx
call fcn.004fac8a
add esp, 0xc
test eax, eax
jne 0x48262d
push 0x2000
push ebx
lea eax, [ebp + 0x1000]
push eax
call fcn.004fd670
push 0x800
push ebx
lea ecx, [ebp + 0x8600]
push ecx
call fcn.004fd670
push 1
push 0x800
lea edx, [ebp + 0x8600]
push edx
push str.Selected
mov eax, dword [edi]
push eax
mov edx, str.InstallingSetupFoundPrinter
call fcn.004920e0
add esp, 0x2c
test eax, eax
jne 0x480f6b
push 0x800
push ebx
lea ecx, [ebp + 0x7c00]
push ecx
call fcn.004fd670
lea edx, [ebp + 0x8600]
push edx
push str.InstallingSetupFoundPrinter_s
lea edx, [ebp + 0x7c00]
call fcn.00404380
push 1
push 0x2000
lea eax, [ebp + 0x1000]
push eax
push str.ExtDeviceID
mov ecx, dword [edi]
push ecx
lea edx, [ebp + 0x7c00]
call fcn.004920e0
add esp, 0x28
test eax, eax
jne 0x480f6b
push str.EXTDEVICEID
lea edx, [ebp + 0x8e00]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
je 0x4822e1
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x3c], 0x3b
push 0x200
push ebx
lea edx, [ebp + 0x8400]
push edx
call fcn.004fd670
push 0xff
lea eax, [ebp + 0x8e18]
push eax
push pe_nt_image_headers32
lea ecx, [ebp + 0x8400]
push ecx
call fcn.004fa71b
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp + 0x1000]
push ecx
call fcn.004fa864
add esp, 0x28
mov esi, eax
cmp esi, ebx
je 0x480f6b
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4825d4
sub eax, edx
sar eax, 1
je 0x480f6b
push 0x3a
push esi
call fcn.004fa842
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x482617
mov word [ebx], 0
lea edx, [ebp + 0x8400]
push edx
push esi
call fcn.004f9f1e
add esp, 8
test eax, eax
je 0x48238f
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0x3c]
push edx
push 0
call fcn.004fa864
add esp, 0xc
xor ebx, ebx
jmp 0x4825c7
push str.PRINTER_INFO_KEY
lea eax, [ebp + 0x8e00]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x481c89
push 0x3ff
push str.Software_MFG__PROGRAM_NAME_InstallSelected_Printers
jmp 0x480f57
mov edx, dword [ebp - 0x2c]
push edx
push 0x53e0e0
lea edx, [ebp + 0x7200]
call fcn.00404380
add esp, 8
mov dword [ebp - 0x14], 0
jmp 0x4826cd
push 1
push 0x800
lea eax, [ebp + 0x8600]
push eax
lea ecx, [ebp + 0x7a00]
push ecx
mov edx, dword [edi]
push edx
lea edx, [ebp + 0x5800]
call fcn.004920e0
add esp, 0x14
test eax, eax
jne 0x48271f
push 0x3ff
lea eax, [ebp + 0x8600]
push eax
push 0x400
lea ecx, [ebp + 0x7200]
push ecx
call fcn.004fa71b
mov dword [ebp - 0x14], 0
add esp, 0x10
xor ebx, ebx
push 0x800
push ebx
lea edx, [ebp + 0x8600]
push edx
call fcn.004fd670
add esp, 0xc
push ebx
push 0x400
lea eax, [ebp + 0x8600]
push eax
lea ecx, [ebp + 0x7200]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.00480760
mov eax, 0x1000
lea edx, [eax - 1]
push edx
lea ecx, [ebp + 0x8600]
push ecx
push eax
mov edx, dword [ebp - 0x30]
push edx
call fcn.004fa71b
add esp, 0x10
jmp 0x482752
lea eax, [ebp + 0x8e00]
push eax
push str.Convert__s_fail__
mov ecx, 0x649e50
call fcn.004918f0
push 0x535a4c
push 0x1000
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004fa94e
add esp, 0x14
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x9000]
xor ecx, ebp
call fcn.004fa103
add ebp, 0x9004
mov esp, ebp
pop ebp
ret 8
mov eax, 6
jmp 0x48275c
mov eax, 0x57
jmp 0x48275c