Function at 0x51f4b0
Capabilities:
Delete registry key
Get common file path
Read .ini file
Set file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x30c4]
mov eax, 0x30c4
call fcn.005e00d0
push 0xfffffffffffffffe
push 0x673478
push 0x5dfbd0
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6aae14]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x30c0], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov esi, dword [ebp + 0x30cc]
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x34], ebx
mov byte [ebp + 0x2584], bl
push 0x40f
push ebx
lea eax, [ebp + 0x2585]
push eax
call fcn.005dfd60
mov dword [ebp - 0x3c], ebx
mov byte [ebp + 0x1a68], bl
push 0x103
push ebx
lea ecx, [ebp + 0x1a69]
push ecx
call fcn.005dfd60
mov byte [ebp + 0x2480], bl
push 0x103
push ebx
lea edx, [ebp + 0x2481]
push edx
call fcn.005dfd60
mov byte [ebp + 0x1964], bl
push 0x103
push ebx
lea eax, [ebp + 0x1965]
push eax
call fcn.005dfd60
mov byte [ebp + 0x1450], bl
push 0x103
push ebx
lea ecx, [ebp + 0x1451]
push ecx
call fcn.005dfd60
mov byte [ebp + 0x1658], bl
push 0x103
push ebx
lea edx, [ebp + 0x1659]
push edx
call fcn.005dfd60
add esp, 0x48
mov byte [ebp + 0x1d74], bl
push 0x103
push ebx
lea eax, [ebp + 0x1d75]
push eax
call fcn.005dfd60
mov byte [ebp + 0xb2c], bl
push 0x103
push ebx
lea ecx, [ebp + 0xb2d]
push ecx
call fcn.005dfd60
mov byte [ebp + 0xd34], bl
push 0x103
push ebx
lea edx, [ebp + 0xd35]
push edx
call fcn.005dfd60
mov byte [ebp + 0x2278], bl
push 0x103
push ebx
lea eax, [ebp + 0x2279]
push eax
call fcn.005dfd60
mov byte [ebp + 0x2fac], bl
push 0x103
push ebx
lea ecx, [ebp + 0x2fad]
push ecx
call fcn.005dfd60
mov byte [ebp + 0x2da4], bl
push 0x103
push ebx
lea edx, [ebp + 0x2da5]
push edx
call fcn.005dfd60
add esp, 0x48
mov byte [ebp + 0x2b9c], bl
push 0x103
push ebx
lea eax, [ebp + 0x2b9d]
push eax
call fcn.005dfd60
mov byte [ebp + 0x2ca0], bl
push 0x103
push ebx
lea ecx, [ebp + 0x2ca1]
push ecx
call fcn.005dfd60
mov byte [ebp + 0x2994], bl
push 0x103
push ebx
lea edx, [ebp + 0x2995]
push edx
call fcn.005dfd60
mov byte [ebp + 0x2a98], bl
push 0x103
push ebx
lea eax, [ebp + 0x2a99]
push eax
call fcn.005dfd60
mov byte [ebp + 0xe38], bl
push 0x40f
push ebx
lea ecx, [ebp + 0xe39]
push ecx
call fcn.005dfd60
mov byte [ebp + 0x1860], bl
push 0x103
push ebx
lea edx, [ebp + 0x1861]
push edx
call fcn.005dfd60
add esp, 0x48
mov byte [ebp + 0x1b6c], bl
push 0x103
push ebx
lea eax, [ebp + 0x1b6d]
push eax
call fcn.005dfd60
mov byte [ebp + 0x1c70], bl
push 0x103
push ebx
lea ecx, [ebp + 0x1c71]
push ecx
call fcn.005dfd60
mov byte [ebp + 0x410], bl
push 0x40f
push ebx
lea edx, [ebp + 0x411]
push edx
call fcn.005dfd60
mov byte [ebp], bl
push 0x40f
push ebx
lea eax, [ebp + 1]
push eax
call fcn.005dfd60
mov byte [ebp + 0xa28], bl
push 0x103
push ebx
lea ecx, [ebp + 0xa29]
push ecx
call fcn.005dfd60
mov dword [ebp - 0x40], ebx
mov byte [ebp + 0x1554], bl
push 0x103
push ebx
lea edx, [ebp + 0x1555]
push edx
call fcn.005dfd60
add esp, 0x48
mov byte [ebp + 0x1248], bl
push 0x103
push ebx
lea eax, [ebp + 0x1249]
push eax
call fcn.005dfd60
mov byte [ebp + 0x924], bl
push 0x103
push ebx
lea ecx, [ebp + 0x925]
push ecx
call fcn.005dfd60
add esp, 0x18
mov dword [ebp - 0x20], ebx
push ebx
push 1
push str.MyUPDLLHand
push 1
push ebx
call fcn.00507920
mov dword [ebp - 0x30], eax
cmp eax, ebx
je 0x51f7bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x51f7bc
lea edx, [ebp - 0x30]
push edx
call fcn.004dca10
xor eax, eax
jmp 0x52163e
mov byte [ebp + 0x2480], bl
mov byte [ebp + 0x1a68], bl
mov byte [ebp + 0x2584], bl
mov byte [ebp + 0x1d74], bl
mov byte [ebp + 0x1658], bl
mov byte [ebp + 0x1964], bl
mov byte [ebp + 0x2fac], bl
mov byte [ebp + 0xb2c], bl
mov byte [ebp + 0xd34], bl
mov byte [ebp + 0x2278], bl
mov byte [ebp + 0x1c70], bl
mov byte [ebp + 0x2da4], bl
mov byte [ebp + 0x1860], bl
mov byte [ebp + 0x1b6c], bl
mov byte [ebp + 0x2b9c], bl
mov byte [ebp + 0x2ca0], bl
mov byte [ebp + 0x2a98], bl
mov byte [ebp + 0x2994], bl
mov byte [ebp + 0x924], bl
mov byte [ebp + 0xa28], bl
mov byte [ebp + 0x1450], bl
cmp dword [0x74ac88], ebx
jne 0x51f85b
push 0x74ac88
push str.UPDLL_Local_Debug
push 0x6111b8
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004d5820
lea eax, [ebp + 0xd34]
push eax
lea ecx, [ebp + 0xb2c]
push ecx
lea edx, [ebp + 0x2278]
push edx
call fcn.005098d0
add esp, 0xc
lea eax, [ebp + 0x2480]
push eax
call fcn.004ef9d0
mov dword [ebp - 0x28], eax
cmp eax, ebx
jne 0x51f9ce
lea ecx, [ebp + 0x2480]
push ecx
call fcn.004efb60
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x51f8b8
mov eax, 1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x51f9e0
mov dword [ebp - 0x24], 1
push ebx
push ebx
lea edx, [ebp + 0xa28]
push edx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x924]
push ecx
push 0x64d3e8
call fcn.0050f490
cmp eax, ebx
je 0x51f9d1
mov byte [ebp + 0x2ea8], bl
push 0x103
push ebx
lea edx, [ebp + 0x2ea9]
push edx
call fcn.005dfd60
mov dword [ebp - 0x38], 0x104
lea eax, [ebp + 0xa28]
push eax
push 0x64d530
lea ecx, [ebp + 0x2ea8]
push ecx
call fcn.005dfb23
add esp, 0x18
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp + 0x1450]
push eax
push 0x6486bc
lea ecx, [ebp + 0x2ea8]
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004d5770
cmp byte [ebp + 0x1450], bl
je 0x51f9d1
lea edx, [ebp + 0x1450]
push edx
call fcn.004ec720
add esp, 4
test eax, eax
je 0x51f9d1
lea eax, [ebp + 0x1450]
push eax
lea ecx, [ebp + 0x2ea8]
push ecx
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call edi
lea edx, [ebp + 0x2ea8]
push edx
call fcn.004e24e0
add esp, 4
push str.eupdate.ini
lea eax, [ebp + 0x2ea8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x2ea8]
push ecx
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x51f9d7
mov eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], eax
lea edx, [ebp + 0x1450]
push edx
lea eax, [ebp + 0x2480]
push eax
call edi
jmp 0x51f9d7
mov dword [ebp - 0x24], ebx
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0x28], ebx
je 0x51fb94
cmp byte [ebp + 0x2480], bl
je 0x51fb94
lea ecx, [ebp + 0x2480]
push ecx
lea edx, [ebp + 0x1964]
push edx
call edi
lea eax, [ebp + 0x1964]
push eax
call fcn.004e24e0
add esp, 4
push str.eupdate.ini
lea ecx, [ebp + 0x1964]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 1
push ebx
push ebx
push ebx
push ebx
lea edx, [ebp + 0x1964]
push edx
call fcn.004e8950
add esp, 0x18
test eax, eax
je 0x51fa41
mov byte [ebp + 0x1964], bl
jmp 0x51fb94
lea eax, [ebp + 0x1964]
push eax
push 0x410
lea ecx, [ebp + 0x2584]
push ecx
push 0x60c81c
push str.LogfilePath
push 0x60da74
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp + 0x2584], bl
je 0x51fa85
push ebx
lea edx, [ebp + 0x2584]
push edx
call fcn.004e8c10
add esp, 8
test eax, eax
jne 0x51fab6
lea eax, [ebp + 0x2480]
push eax
lea ecx, [ebp + 0x2584]
push ecx
call edi
lea edx, [ebp + 0x2584]
push edx
call fcn.004e24e0
add esp, 4
push 0x64ee94
lea eax, [ebp + 0x2584]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004e24e0
push ebx
lea edx, [ebp + 0x2584]
push edx
call fcn.004e8c10
add esp, 0xc
test eax, eax
je 0x51faf8
push str.UPDLL.LOG
lea eax, [ebp + 0x2584]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [ebp + 0x2584]
push ecx
lea edx, [ebp + 0x1d74]
push edx
call edi
lea eax, [ebp + 0x2480]
push eax
lea ecx, [ebp + 0x1860]
push ecx
call edi
lea edx, [ebp + 0x1860]
push edx
call fcn.004e24e0
add esp, 4
push str.eserv.ini
lea eax, [ebp + 0x1860]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 1
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x1860]
push ecx
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x51fb8e
lea edx, [ebp + 0x1860]
push edx
push 0x104
lea eax, [ebp + 0x1b6c]
push eax
push 0x60c81c
push str.FTPDownloadDir
push str.general
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp + 0x1b6c], bl
je 0x51fb86
push ebx
lea ecx, [ebp + 0x1b6c]
push ecx
call fcn.004e8c10
add esp, 8
test eax, eax
jne 0x51fb94
mov byte [ebp + 0x1b6c], bl
jmp 0x51fb94
mov byte [ebp + 0x1860], bl
lea edx, [ebp + 0x1a68]
push edx
call fcn.004eefa0
add esp, 4
mov edi, eax
mov dword [ebp - 0x38], edi
cmp edi, ebx
je 0x51fd2c
cmp byte [ebp + 0x1a68], bl
je 0x51fd2c
lea eax, [ebp + 0x1a68]
push eax
lea ecx, [ebp + 0x1658]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp + 0x1658]
push edx
call fcn.004e24e0
add esp, 4
push str.mailscan.ini
lea eax, [ebp + 0x1658]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 1
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x1658]
push ecx
call fcn.004e8950
add esp, 0x18
test eax, eax
je 0x51fc15
mov byte [ebp + 0x1658], bl
jmp 0x51fd2c
lea edx, [ebp + 0x1658]
push edx
push 0x410
lea eax, [ebp + 0x2584]
push eax
push 0x60c81c
push str.LogfilePath
push 0x60da74
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp + 0x2584], bl
je 0x51fc59
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004e8c10
add esp, 8
test eax, eax
jne 0x51fc8e
lea edx, [ebp + 0x1a68]
push edx
lea eax, [ebp + 0x2584]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004e24e0
add esp, 4
push 0x64ee94
lea edx, [ebp + 0x2584]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp + 0x2584]
push eax
call fcn.004e24e0
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004e8c10
add esp, 0xc
test eax, eax
je 0x51fcdc
push str.UPDLL.LOG
lea edx, [ebp + 0x2584]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [ebp + 0x1d74], bl
jne 0x51fcdc
lea eax, [ebp + 0x2584]
push eax
lea ecx, [ebp + 0x1d74]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp + 0x1a68]
push edx
lea eax, [ebp + 0x1c70]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp + 0x1c70]
push ecx
call fcn.004e24e0
add esp, 4
push str.AVPLITE
lea edx, [ebp + 0x1c70]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push ebx
lea eax, [ebp + 0x1c70]
push eax
call fcn.004e8c10
add esp, 8
cmp eax, 1
je 0x51fd2c
mov byte [ebp + 0x1c70], bl
cmp byte [ebp + 0x1d74], bl
jne 0x51fd69
lea ecx, [ebp + 0x2278]
push ecx
lea edx, [ebp + 0x1d74]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x1d74]
push eax
call fcn.004e24e0
add esp, 4
push str.UPDLL.LOG
lea ecx, [ebp + 0x1d74]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [ebp + 0x1d74]
push edx
push 0x74ada0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0xd34]
push eax
lea ecx, [ebp + 0xb2c]
push ecx
push str.AppName___s___s_
lea edx, [ebp + 0x2584]
push edx
call fcn.005dfb23
push ebx
push 1
push ebx
lea eax, [ebp + 0x2584]
push eax
call fcn.004f0980
add esp, 0x20
cmp dword [0x74ac88], ebx
je 0x51fdca
lea ecx, [ebp + 0x2584]
push ecx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
lea edx, [ebp + 0x2278]
push edx
push str.AppPath___s
lea eax, [ebp + 0x2584]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x51fe12
lea edx, [ebp + 0x2584]
push edx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
cmp edi, ebx
jne 0x51fe6c
cmp dword [ebp - 0x28], ebx
jne 0x51fe6c
push str.Unable_to_find_eScan_or_MailScan_
lea eax, [ebp + 0x2584]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004f0980
add esp, 0x18
cmp dword [0x74ac88], ebx
je 0x51fe5c
lea edx, [ebp + 0x2584]
push edx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
call fcn.004dca10
xor eax, eax
jmp 0x52163e
mov cx, word [0x64dea0]
mov word [ebp + 0x30b0], cx
mov dl, byte [0x64dea2]
mov byte [ebp + 0x30b2], dl
xor eax, eax
mov dword [ebp + 0x30b3], eax
mov dword [ebp + 0x30b7], eax
mov dword [ebp + 0x30bb], eax
mov byte [ebp + 0x30bf], al
cmp dword [ebp - 0x28], ebx
je 0x51febe
mov cl, byte [ebp + 0x2480]
cmp cl, bl
je 0x51febe
mov byte [ebp + 0x30b0], cl
lea eax, [ebp + 0x30b0]
push eax
jmp 0x51fed9
cmp edi, ebx
je 0x51fee1
mov cl, byte [ebp + 0x1a68]
cmp cl, bl
je 0x51fee1
mov byte [ebp + 0x30b0], cl
lea ecx, [ebp + 0x30b0]
push ecx
call fcn.004dd540
add esp, 4
cmp eax, 0x14
jae 0x51ff18
push eax
movsx edx, byte [ebp + 0x30b0]
push edx
push str.Not_enough_free_space_available_on__c_drive__FreeSpace:__u_MB_
lea eax, [ebp + 0x2584]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004f0980
add esp, 0x20
jmp 0x51fe3f
cmp dword [0x74ac88], ebx
je 0x51ff45
cmp esi, ebx
je 0x51ff30
cmp byte [esi], bl
je 0x51ff30
push esi
push str._UPD__Getting_List__mydir_param___s_
jmp 0x51ff3c
lea ecx, [ebp + 0x2278]
push ecx
push str._UPD__Getting_List__mydir___s_
push ebx
call fcn.004f0f30
add esp, 0xc
cmp esi, ebx
je 0x51ff7d
cmp byte [esi], bl
je 0x51ff7d
push esi
call fcn.004ec720
add esp, 4
test eax, eax
je 0x51ff7d
mov eax, esi
lea edx, [ebp + 0x2278]
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
cmp cl, bl
jne 0x51ff64
lea edx, [ebp + 0x2278]
push edx
call fcn.004e24e0
add esp, 4
push ebx
push ebx
push ebx
lea eax, [ebp - 0x2c]
push eax
push str.UPDLL.DLL
lea ecx, [ebp + 0x2278]
push ecx
call fcn.004f9360
add esp, 0x18
test eax, eax
jne 0x51ffcc
lea edx, [ebp + 0x2278]
push edx
push str.No_UPDLL_files_in_folder__s.
lea eax, [ebp + 0x2584]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004f0980
add esp, 0x1c
jmp 0x51fe3f
mov eax, 1
cmp dword [ebp - 0x3c], eax
je 0x51ffdf
cmp dword [ebp - 0x20], eax
jne 0x520086
cmp dword [ebp - 0x24], eax
jne 0x520086
lea ecx, [ebp + 0x2480]
push ecx
lea edx, [ebp + 0x1554]
push edx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call esi
lea eax, [ebp + 0x1554]
push eax
call fcn.004e24e0
add esp, 4
push str.win.ini
lea ecx, [ebp + 0x1554]
push ecx
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call edi
lea edx, [ebp + 0x2480]
push edx
lea eax, [ebp + 0x1248]
push eax
call esi
lea ecx, [ebp + 0x1248]
push ecx
call fcn.004e24e0
add esp, 4
push str.win.i
lea edx, [ebp + 0x1248]
push edx
call edi
push 1
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp + 0x1554]
push eax
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x520086
push ebx
lea ecx, [ebp + 0x1248]
push ecx
lea edx, [ebp + 0x1554]
push edx
call fcn.004eca90
add esp, 0xc
cmp eax, 1
jne 0x520086
mov dword [ebp - 0x40], eax
cmp dword [0x74ac88], ebx
je 0x5200a0
mov eax, dword [ebp - 0x2c]
push eax
push str._UPD__root__0x_x
push ebx
call fcn.004f0f30
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], ecx
lea esp, [esp]
cmp dword [ebp - 0x1c], ebx
je 0x521595
mov byte [ebp + 0x134c], bl
push 0x103
push ebx
lea edx, [ebp + 0x134d]
push edx
call fcn.005dfd60
add esp, 0xc
cmp dword [0x74ac88], ebx
je 0x5200ea
push str._UPD__
push ebx
call fcn.004f0f30
add esp, 8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
push ecx
lea edx, [ebp + 0x2fac]
push edx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call esi
lea eax, [ebp + 0x2fac]
push eax
lea ecx, [ebp + 0x2da4]
push ecx
call esi
push 0x2e
lea edx, [ebp + 0x2da4]
push edx
call fcn.005e0a00
add esp, 8
mov esi, eax
cmp esi, ebx
je 0x520143
push str..dll3
push esi
call fcn.004dd6e0
add esp, 8
test eax, eax
jne 0x520143
mov eax, 0x5a
mov word [esi + 3], ax
jmp 0x52015a
lea eax, [ebp + 0x2da4]
cmp byte [ebp + 0x2da4], bl
je 0x520156
inc eax
cmp byte [eax], bl
jne 0x520151
mov byte [eax - 1], 0x5a
cmp dword [0x74ac88], ebx
je 0x520188
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
push edx
push str._UPD__UPDLL:___s_
push ebx
call fcn.004f0f30
lea eax, [ebp + 0x2da4]
push eax
push str._UPD__UPDLZ:___s_
push ebx
call fcn.004f0f30
add esp, 0x18
mov byte [ebp + 0x2ca0], bl
mov byte [ebp + 0x2b9c], bl
cmp byte [ebp + 0x1b6c], bl
je 0x52026d
lea ecx, [ebp + 0x1b6c]
push ecx
lea edx, [ebp + 0x2b9c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebp + 0x2b9c], bl
je 0x5201ed
lea eax, [ebp + 0x2b9c]
inc eax
cmp byte [eax], bl
jne 0x5201c2
lea ecx, [ebp + 0x2b9c]
sub eax, ecx
je 0x5201ed
cmp byte [ebp + eax + 0x2b9b], 0x5c
je 0x5201ed
push 0x66da34
mov edx, ecx
push edx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call esi
jmp 0x5201f3
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push ebx
lea eax, [ebp + 0x2fac]
push eax
call fcn.004e1490
add esp, 8
push eax
lea ecx, [ebp + 0x2b9c]
push ecx
call esi
lea edx, [ebp + 0x1b6c]
push edx
lea eax, [ebp + 0x2ca0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebp + 0x2ca0], bl
je 0x520253
lea eax, [ebp + 0x2ca0]
nop
inc eax
cmp byte [eax], bl
jne 0x520230
lea ecx, [ebp + 0x2ca0]
sub eax, ecx
je 0x520253
cmp byte [ebp + eax + 0x2c9f], 0x5c
je 0x520253
push 0x66da34
mov edx, ecx
push edx
call esi
push ebx
lea eax, [ebp + 0x2da4]
push eax
call fcn.004e1490
add esp, 8
push eax
lea ecx, [ebp + 0x2ca0]
push ecx
call esi
cmp byte [ebp + 0x1c70], bl
je 0x52034d
lea edx, [ebp + 0x1c70]
push edx
lea eax, [ebp + 0x2994]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebp + 0x2994], bl
je 0x5202cb
lea eax, [ebp + 0x2994]
jmp 0x5202a0
inc eax
cmp byte [eax], bl
jne 0x5202a0
lea ecx, [ebp + 0x2994]
sub eax, ecx
je 0x5202cb
cmp byte [ebp + eax + 0x2993], 0x5c
je 0x5202cb
push 0x66da34
mov edx, ecx
push edx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call esi
jmp 0x5202d1
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push ebx
lea eax, [ebp + 0x2fac]
push eax
call fcn.004e1490
add esp, 8
push eax
lea ecx, [ebp + 0x2994]
push ecx
call esi
lea edx, [ebp + 0x1c70]
push edx
lea eax, [ebp + 0x2a98]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebp + 0x2a98], bl
je 0x520333
lea eax, [ebp + 0x2a98]
lea ecx, [ecx]
inc eax
cmp byte [eax], bl
jne 0x520310
lea ecx, [ebp + 0x2a98]
sub eax, ecx
je 0x520333
cmp byte [ebp + eax + 0x2a97], 0x5c
je 0x520333
push 0x66da34
mov edx, ecx
push edx
call esi
push ebx
lea eax, [ebp + 0x2da4]
push eax
call fcn.004e1490
add esp, 8
push eax
lea ecx, [ebp + 0x2a98]
push ecx
call esi
push ebx
push ebx
push ebx
push ebx
push ebx
lea edx, [ebp + 0x2fac]
push edx
call fcn.00508b00
cmp eax, 3
jne 0x520450
push ebx
lea eax, [ebp + 0x2da4]
push eax
lea ecx, [ebp + 0x2fac]
push ecx
call fcn.004eca90
add esp, 0xc
cmp eax, 1
jne 0x5203f6
push ebx
push ebx
lea edx, [ebp + 0x2278]
push edx
lea eax, [ebp + 0x2da4]
push eax
call fcn.0050c0d0
test eax, eax
jne 0x520450
lea ecx, [ebp + 0x2fac]
push ecx
push str.Unable_to_Unzip_file__s_
lea edx, [ebp + 0x2584]
push edx
call fcn.005dfb23
push ebx
push 1
push ebx
lea eax, [ebp + 0x2584]
push eax
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x5203e8
lea ecx, [ebp + 0x2584]
push ecx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x5200b0
lea ecx, [ebp + 0x2da4]
push ecx
lea edx, [ebp + 0x2fac]
push edx
push str.Unable_to_move_file_from__s_to__s_
lea eax, [ebp + 0x2584]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004f0980
add esp, 0x20
cmp dword [0x74ac88], ebx
je 0x520445
lea edx, [ebp + 0x2584]
push edx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x18]
jmp 0x5200a9
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea edx, [ebp + 0x134c]
push edx
lea eax, [ebp + 0x2fac]
push eax
call fcn.005052b0
mov esi, eax
cmp byte [ebp + 0x134c], bl
jne 0x520529
mov byte [ebp + 0x237c], bl
push 0x103
push ebx
lea ecx, [ebp + 0x237d]
push ecx
call fcn.005dfd60
add esp, 0xc
mov dword [ebp - 0x20], ebx
cmp esi, ebx
jne 0x5204b7
call edi
push eax
push 0x104
lea edx, [ebp + 0x237c]
push edx
call fcn.004d8b50
add esp, 0xc
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp + 0x2fac]
push ecx
call fcn.004e8950
mov edx, dword [ebp - 0x20]
push edx
push eax
lea eax, [ebp + 0x237c]
push eax
lea ecx, [ebp + 0x2fac]
push ecx
push str.UPDLL___s__VERSION_ABSENT._POSSIBLY_CORRUPTED___Err:__s___isf:__d___sz:__u_
lea edx, [ebp + 0x2584]
push edx
call fcn.005dfb23
push ebx
push 1
push ebx
lea eax, [ebp + 0x2584]
push eax
call fcn.004f0980
add esp, 0x40
cmp dword [0x74ac88], ebx
je 0x5206cb
lea ecx, [ebp + 0x2584]
push ecx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
jmp 0x5206cb
mov dword [ebp - 4], ebx
push 1
lea edx, [ebp + 0x2fac]
push edx
call fcn.004e53d0
add esp, 8
test eax, eax
jne 0x5205dc
lea eax, [ebp + 0x134c]
push eax
lea ecx, [ebp + 0x2fac]
push ecx
push str.UPDLL___s___s___ALREADY_APPLIED_
lea edx, [ebp + 0x2584]
push edx
call fcn.005dfb23
push ebx
push 1
push ebx
lea eax, [ebp + 0x2584]
push eax
call fcn.004f0980
add esp, 0x20
cmp dword [0x74ac88], ebx
je 0x5205c7
lea ecx, [ebp + 0x2584]
push ecx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
cmp dword [0x74ac88], ebx
je 0x5205c7
mov esi, dword [ebp - 0x1c]
mov edx, dword [esi + 0x18]
push edx
mov eax, dword [esi]
push eax
push esi
push str._UPD__tmp__0x_x__fnptr___s___tmp__next__0x_x
push ebx
call fcn.004f0f30
add esp, 0x14
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0xfffffffe
jmp 0x5200b0
mov esi, dword [ebp - 0x1c]
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0xfffffffe
jmp 0x5200b0
lea edx, [ebp + 0x134c]
push edx
lea eax, [ebp + 0x2fac]
push eax
push str.UPDLL___s___s_
lea ecx, [ebp + 0x2584]
push ecx
call fcn.005dfb23
push ebx
push 1
push ebx
lea edx, [ebp + 0x2584]
push edx
call fcn.004f0980
add esp, 0x20
cmp dword [0x74ac88], ebx
je 0x52062b
lea eax, [ebp + 0x2584]
push eax
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
lea ecx, [ebp + 0x2fac]
push ecx
call fcn.004f8470
add esp, 4
cmp eax, 2
je 0x52069c
lea edx, [ebp + 0x2fac]
push edx
push str.Unable_to_Validate__1__Library__s_
lea eax, [ebp + 0x2584]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x520687
lea edx, [ebp + 0x2584]
push edx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0xfffffffe
jmp 0x5200b0
mov dword [ebp - 4], 0xfffffffe
jmp 0x5206cb
cmp dword [0x750670], ebx
jne 0x52070d
mov dword [0x750670], 1
push ebx
push 1
push ebx
push str.Deleting_Backup_Files...
call fcn.004f0980
add esp, 0x10
cmp dword [0x74ac88], ebx
je 0x520704
push str._UPD__Deleting_Backup_Files...
push ebx
call fcn.004f0f30
add esp, 8
push ebx
call fcn.0051eed0
add esp, 4
cmp byte [ebp + 0x134c], bl
je 0x52074c
cmp dword [0x74ac88], ebx
je 0x520732
lea edx, [ebp + 0x2fac]
push edx
push str._UPD__Loading_UPDLL___s_
push ebx
call fcn.004f0f30
add esp, 0xc
lea eax, [ebp + 0x2fac]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
mov dword [ebp - 0x24], esi
cmp esi, ebx
jne 0x520d27
mov byte [ebp + 0x1e78], bl
push 0x3ff
push ebx
lea ecx, [ebp + 0x1e79]
push ecx
call fcn.005dfd60
add esp, 0xc
cmp byte [ebp + 0x134c], bl
je 0x52079c
call edi
push eax
push 0x410
lea edx, [ebp + 0xe38]
push edx
call fcn.004d8b50
add esp, 0xc
cmp byte [ebp + 0xe38], bl
jne 0x5207ae
push str.Is_not_valid_DLL
lea eax, [ebp + 0xe38]
push eax
jmp 0x5207a8
push str.Version_Absent._File_possibly_corrupted.
lea ecx, [ebp + 0xe38]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp + 0xe38]
push edx
lea eax, [ebp + 0x2fac]
push eax
push str.Unable_to_Load_Library__s__Reason:__s
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.005dfb23
push ebx
push 1
push ebx
lea edx, [ebp + 0x1e78]
push edx
call fcn.004f0980
add esp, 0x20
cmp dword [0x74ac88], ebx
je 0x5207fd
lea eax, [ebp + 0x1e78]
push eax
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
push 1
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x2fac]
push ecx
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x5208cd
push ebx
lea edx, [ebp + 0x2fac]
push edx
call fcn.00502540
add esp, 8
test eax, eax
jne 0x520885
call edi
push eax
push 0x410
lea eax, [ebp + 0xe38]
push eax
call fcn.004d8b50
lea ecx, [ebp + 0xe38]
push ecx
lea edx, [ebp + 0x2fac]
push edx
push str.Unable_to_MyDeleteFileA__s__Reason:__s
lea eax, [ebp + 0x1e78]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.004f0980
add esp, 0x2c
cmp dword [0x74ac88], ebx
je 0x5208cd
lea edx, [ebp + 0x1e78]
push edx
jmp 0x5208bf
lea eax, [ebp + 0x2fac]
push eax
push str.Successfully_Deleted__s.
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.005dfb23
push ebx
push 1
push ebx
lea edx, [ebp + 0x1e78]
push edx
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x5208cd
lea eax, [ebp + 0x1e78]
push eax
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
cmp byte [ebp + 0x2da4], bl
je 0x5209a9
push 1
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x2da4]
push ecx
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x5209a9
push ebx
lea edx, [ebp + 0x2da4]
push edx
call fcn.00502540
add esp, 8
test eax, eax
jne 0x520961
call edi
push eax
push 0x410
lea eax, [ebp + 0xe38]
push eax
call fcn.004d8b50
lea ecx, [ebp + 0xe38]
push ecx
lea edx, [ebp + 0x2da4]
push edx
push str.Unable_to_MyDeleteFileA__s__Reason:__s
lea eax, [ebp + 0x1e78]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.004f0980
add esp, 0x2c
cmp dword [0x74ac88], ebx
je 0x5209a9
lea edx, [ebp + 0x1e78]
push edx
jmp 0x52099b
lea eax, [ebp + 0x2da4]
push eax
push str.Successfully_Deleted__s.
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.005dfb23
push ebx
push 1
push ebx
lea edx, [ebp + 0x1e78]
push edx
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x5209a9
lea eax, [ebp + 0x1e78]
push eax
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
cmp byte [ebp + 0x2b9c], bl
je 0x520a85
push 1
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x2b9c]
push ecx
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x520a85
push ebx
lea edx, [ebp + 0x2b9c]
push edx
call fcn.00502540
add esp, 8
test eax, eax
jne 0x520a3d
call edi
push eax
push 0x410
lea eax, [ebp + 0xe38]
push eax
call fcn.004d8b50
lea ecx, [ebp + 0xe38]
push ecx
lea edx, [ebp + 0x2b9c]
push edx
push str.Unable_to_MyDeleteFileA__s__Reason:__s
lea eax, [ebp + 0x1e78]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.004f0980
add esp, 0x2c
cmp dword [0x74ac88], ebx
je 0x520a85
lea edx, [ebp + 0x1e78]
push edx
jmp 0x520a77
lea eax, [ebp + 0x2b9c]
push eax
push str.Successfully_Deleted__s.
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.005dfb23
push ebx
push 1
push ebx
lea edx, [ebp + 0x1e78]
push edx
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x520a85
lea eax, [ebp + 0x1e78]
push eax
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
cmp byte [ebp + 0x2ca0], bl
je 0x520b61
push 1
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x2ca0]
push ecx
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x520b61
push ebx
lea edx, [ebp + 0x2ca0]
push edx
call fcn.00502540
add esp, 8
test eax, eax
jne 0x520b19
call edi
push eax
push 0x410
lea eax, [ebp + 0xe38]
push eax
call fcn.004d8b50
lea ecx, [ebp + 0xe38]
push ecx
lea edx, [ebp + 0x2ca0]
push edx
push str.Unable_to_MyDeleteFileA__s__Reason:__s
lea eax, [ebp + 0x1e78]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.004f0980
add esp, 0x2c
cmp dword [0x74ac88], ebx
je 0x520b61
lea edx, [ebp + 0x1e78]
push edx
jmp 0x520b53
lea eax, [ebp + 0x2ca0]
push eax
push str.Successfully_Deleted__s.
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.005dfb23
push ebx
push 1
push ebx
lea edx, [ebp + 0x1e78]
push edx
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x520b61
lea eax, [ebp + 0x1e78]
push eax
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
cmp byte [ebp + 0x2994], bl
je 0x520c3d
push 1
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x2994]
push ecx
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x520c3d
push ebx
lea edx, [ebp + 0x2994]
push edx
call fcn.00502540
add esp, 8
test eax, eax
jne 0x520bf5
call edi
push eax
push 0x410
lea eax, [ebp + 0xe38]
push eax
call fcn.004d8b50
lea ecx, [ebp + 0xe38]
push ecx
lea edx, [ebp + 0x2994]
push edx
push str.Unable_to_MyDeleteFileA__s__Reason:__s
lea eax, [ebp + 0x1e78]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.004f0980
add esp, 0x2c
cmp dword [0x74ac88], ebx
je 0x520c3d
lea edx, [ebp + 0x1e78]
push edx
jmp 0x520c2f
lea eax, [ebp + 0x2994]
push eax
push str.Successfully_Deleted__s.
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.005dfb23
push ebx
push 1
push ebx
lea edx, [ebp + 0x1e78]
push edx
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x520c3d
lea eax, [ebp + 0x1e78]
push eax
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
cmp byte [ebp + 0x2a98], bl
je 0x520d19
push 1
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x2a98]
push ecx
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x520d19
push ebx
lea edx, [ebp + 0x2a98]
push edx
call fcn.00502540
add esp, 8
test eax, eax
jne 0x520cd1
call edi
push eax
push 0x410
lea eax, [ebp + 0xe38]
push eax
call fcn.004d8b50
lea ecx, [ebp + 0xe38]
push ecx
lea edx, [ebp + 0x2a98]
push edx
push str.Unable_to_MyDeleteFileA__s__Reason:__s
lea eax, [ebp + 0x1e78]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.004f0980
add esp, 0x2c
cmp dword [0x74ac88], ebx
je 0x520d19
lea edx, [ebp + 0x1e78]
push edx
jmp 0x520d0b
lea eax, [ebp + 0x2a98]
push eax
push str.Successfully_Deleted__s.
lea ecx, [ebp + 0x1e78]
push ecx
call fcn.005dfb23
push ebx
push 1
push ebx
lea edx, [ebp + 0x1e78]
push edx
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x520d19
lea eax, [ebp + 0x1e78]
push eax
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1c], edx
jmp 0x5200b0
push str.ValidateLibrary
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
push str.UpgradeFiles
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x20], eax
cmp edi, ebx
je 0x5214b9
cmp eax, ebx
je 0x5214b9
mov byte [ebp + 0x410], bl
lea eax, [ebp + 0x410]
push eax
call fcn.004e4eb0
add esp, 4
lea ecx, [ebp + 0x410]
push ecx
lea edx, [ebp]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x410]
push eax
call edi
mov esi, eax
cmp esi, ebx
je 0x520dbf
push ebx
push ebx
lea ecx, [ebp + 0x410]
push ecx
call fcn.004f2680
add esp, 0xc
mov esi, eax
cmp esi, ebx
je 0x520dbf
lea edx, [ebp]
push edx
lea eax, [ebp + 0x410]
push eax
call fcn.004dd620
add esp, 8
test eax, eax
jne 0x520dbf
cmp esi, ebx
jne 0x520e92
lea ecx, [ebp + 0x2fac]
push ecx
push str.Unable_to_Validate__2__Library__s_
lea edx, [ebp + 0x2584]
push edx
call fcn.005dfb23
push ebx
push 1
push ebx
lea eax, [ebp + 0x2584]
push eax
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x520e07
lea ecx, [ebp + 0x2584]
push ecx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
lea edx, [ebp - 0x24]
push edx
call fcn.004f37c0
lea eax, [ebp + 0x2fac]
push eax
call fcn.004e0670
lea ecx, [ebp + 0x2da4]
push ecx
call fcn.004e0670
add esp, 0xc
cmp byte [ebp + 0x2b9c], bl
je 0x520e42
lea edx, [ebp + 0x2b9c]
push edx
call fcn.004e0670
add esp, 4
cmp byte [ebp + 0x2ca0], bl
je 0x520e59
lea eax, [ebp + 0x2ca0]
push eax
call fcn.004e0670
add esp, 4
cmp byte [ebp + 0x2994], bl
je 0x520e70
lea ecx, [ebp + 0x2994]
push ecx
call fcn.004e0670
add esp, 4
cmp byte [ebp + 0x2a98], bl
je 0x520e87
lea edx, [ebp + 0x2a98]
push edx
call fcn.004e0670
add esp, 4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x18]
jmp 0x5200a3
mov byte [ebp + 0x820], bl
push 0x103
push ebx
lea edx, [ebp + 0x821]
push edx
call fcn.005dfd60
mov byte [ebp + 0xc30], bl
push 0x103
push ebx
lea eax, [ebp + 0xc31]
push eax
call fcn.005dfd60
lea ecx, [ebp + 0xc30]
push ecx
lea edx, [ebp + 0x2fac]
push edx
call fcn.004e1490
push 0x2e
lea eax, [ebp + 0xc30]
push eax
call fcn.005e0a00
add esp, 0x28
cmp eax, ebx
je 0x520eec
mov byte [eax], bl
push str..hsh
lea ecx, [ebp + 0xc30]
push ecx
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call edi
lea edx, [ebp + 0x820]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push str.SoftwareMicroWorldUFile
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, str.SoftwareMicroWorldUFile
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x520f95
cmp dword [0x68fed4], 0xffffffff
jne 0x520f49
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x68fed4
call fcn.004d9f10
add esp, 0x2c
cmp dword [0x68fed4], ebx
jne 0x520f63
push str.SoftwareMicroWorldUFile
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
jmp 0x520f76
push ebx
push str.SoftwareMicroWorldUFile
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004e1ff0
add esp, 0xc
mov esi, eax
cmp esi, 2
jne 0x520f8e
push str.SoftwareMicroWorldUFile
call fcn.004e5120
cmp eax, 1
jne 0x520f8e
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, dword [ebp - 0x28]
cmp esi, ebx
je 0x52117e
cmp dword [0x75066c], ebx
jne 0x521031
mov dword [0x75066c], 1
push ebx
push 0x104
push 0x750568
push 0x60c81c
push str.StandAloneShare
push 0x60c810
call fcn.004edfd0
add esp, 0x18
cmp byte [0x750568], bl
je 0x5211de
push ebx
push 0x750568
call fcn.004e8c10
add esp, 8
test eax, eax
je 0x5211de
cmp byte [0x750568], bl
je 0x52117e
mov eax, 0x750568
jmp 0x521010
inc eax
cmp byte [eax], bl
jne 0x521010
sub eax, 0x750568
je 0x521031
cmp byte [eax + 0x750567], 0x5c
je 0x521031
push 0x66da34
push 0x750568
call edi
cmp byte [0x750568], bl
je 0x52117e
mov byte [ebp + 0x2ea8], bl
push 0x103
push ebx
lea edx, [ebp + 0x2ea9]
push edx
call fcn.005dfd60
mov byte [ebp + 0x237c], bl
push 0x103
push ebx
lea eax, [ebp + 0x237d]
push eax
call fcn.005dfd60
lea ecx, [ebp + 0x237c]
push ecx
lea edx, [ebp + 0x2da4]
push edx
call fcn.004e1490
add esp, 0x20
push 0x750568
lea eax, [ebp + 0x2ea8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebp + 0x2ea8], bl
je 0x5210c6
lea eax, [ebp + 0x2ea8]
inc eax
cmp byte [eax], bl
jne 0x5210a3
lea ecx, [ebp + 0x2ea8]
sub eax, ecx
je 0x5210c6
cmp byte [ebp + eax + 0x2ea7], 0x5c
je 0x5210c6
push 0x66da34
mov edx, ecx
push edx
call edi
lea eax, [ebp + 0x237c]
push eax
lea ecx, [ebp + 0x2ea8]
push ecx
call edi
push ebx
lea edx, [ebp + 0x2ea8]
push edx
lea eax, [ebp + 0x2da4]
push eax
call fcn.004edd70
add esp, 0xc
test eax, eax
jne 0x52117e
mov byte [ebp + 0x175c], bl
push 0x103
push ebx
lea ecx, [ebp + 0x175d]
push ecx
call fcn.005dfd60
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x104
lea edx, [ebp + 0x175c]
push edx
call fcn.004d8b50
lea eax, [ebp + 0x175c]
push eax
lea ecx, [ebp + 0x2ea8]
push ecx
lea edx, [ebp + 0x2fac]
push edx
push str.Unable_to_copy__s_to__s__Reason:__s
lea eax, [ebp + 0x2584]
push eax
call fcn.005dfb23
push ebx
push 1
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004f0980
add esp, 0x30
cmp dword [0x74ac88], ebx
je 0x521194
lea edx, [ebp + 0x2584]
push edx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
cmp dword [0x74ac88], ebx
je 0x521194
push str._UPD__Calling_to_Upgrade...
push ebx
call fcn.004f0f30
add esp, 8
mov byte [ebp + 0xe38], bl
lea eax, [ebp + 0xe38]
push eax
lea ecx, [ebp + 0x1a68]
push ecx
mov edx, dword [ebp - 0x38]
push edx
lea eax, [ebp + 0x2480]
push eax
push esi
call dword [ebp - 0x20]
mov esi, dword [ebp - 0x34]
or esi, eax
mov dword [ebp - 0x34], esi
cmp byte [ebp + 0xe38], bl
jne 0x5211e6
push esi
push str.Upgrade_Files_Returned_:__d
lea ecx, [ebp + 0x2584]
push ecx
call fcn.005dfb23
add esp, 0xc
jmp 0x521202
mov byte [0x750568], bl
jmp 0x52117e
lea edx, [ebp + 0xe38]
push edx
push esi
push str.Upgrade_Files_Returned_:__d___s_
lea eax, [ebp + 0x2584]
push eax
call fcn.005dfb23
add esp, 0x10
push ebx
push 1
push ebx
lea ecx, [ebp + 0x2584]
push ecx
call fcn.004f0980
add esp, 0x10
cmp dword [0x74ac88], ebx
je 0x521232
lea edx, [ebp + 0x2584]
push edx
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x24]
push eax
call fcn.004f37c0
add esp, 4
cmp esi, 1
jne 0x5214a5
cmp dword [0x74ac88], ebx
je 0x52126f
lea ecx, [ebp + 0x2fac]
push ecx
push str._UPD__Reset_archive_of___s_
push ebx
call fcn.004f0f30
add esp, 0xc
cmp byte [ebp + 0x2fac], bl
je 0x52129d
lea edx, [ebp + 0x2fac]
push edx
call fcn.004e0fb0
add esp, 4
cmp eax, 0xffffffff
je 0x52129d
test al, 0x20
je 0x52129d
push ebx
lea eax, [ebp + 0x2fac]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov byte [ebp + 0x175c], bl
push 0x103
push ebx
lea ecx, [ebp + 0x175d]
push ecx
call fcn.005dfd60
mov byte [ebp + 0x2070], bl
push 0x207
push ebx
lea edx, [ebp + 0x2071]
push edx
call fcn.005dfd60
add esp, 0x18
xor eax, eax
jmp 0x5212e0
mov cl, byte [ebp + eax + 0x2fac]
mov byte [ebp + eax + 0x175c], cl
inc eax
cmp cl, bl
jne 0x5212e0
push 0x207
lea eax, [ebp + 0x2070]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea ecx, [ebp + 0x175c]
push ecx
call fcn.005e0a00
add esp, 8
mov esi, eax
cmp esi, ebx
je 0x521320
inc esi
jmp 0x521326
lea esi, [ebp + 0x175c]
push 0x5c
lea edx, [ebp + 0x2070]
push edx
call fcn.005e0a00
add esp, 8
mov edi, eax
cmp edi, ebx
je 0x521340
inc edi
jmp 0x521346
lea edi, [ebp + 0x2070]
cmp dword [0x74ac88], ebx
je 0x52135e
push edi
push esi
push str._UPD__dll_ofn:__s___exe_ofn:__s_
push ebx
call fcn.004f0f30
add esp, 0x10
cmp byte [esi], bl
je 0x5214a5
cmp byte [edi], bl
je 0x5214a5
mov byte [ebp + 0x2ea8], bl
push 0x103
push ebx
lea eax, [ebp + 0x2ea9]
push eax
call fcn.005dfd60
mov byte [ebp + 0x237c], bl
push 0x103
push ebx
lea ecx, [ebp + 0x237d]
push ecx
call fcn.005dfd60
add esp, 0x18
xor eax, eax
jmp 0x5213b0
mov cl, byte [ebp + eax + 0x2480]
mov byte [ebp + eax + 0x2ea8], cl
inc eax
cmp cl, bl
jne 0x5213b0
lea edx, [ebp + 0x2ea8]
push edx
call fcn.004e24e0
add esp, 4
lea eax, [ebp + 0x2ea8]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x5213e0
mov ecx, dword [str.vistaescanmon.lan]
mov dword [eax], ecx
mov edx, dword [0x64dc5c]
mov dword [eax + 4], edx
mov ecx, dword [0x64dc60]
mov dword [eax + 8], ecx
mov edx, dword [0x64dc64]
mov dword [eax + 0xc], edx
mov cx, word [0x64dc68]
mov word [eax + 0x10], cx
mov dl, byte [0x64dc6a]
mov byte [eax + 0x12], dl
lea eax, [ebp + 0x2ea8]
push eax
push 0x104
lea ecx, [ebp + 0x237c]
push ecx
push str.New_Policy_Applied
push 0x617f20
push 0x64e9a8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push ebx
push str.UPDLL
push str.Policy
lea edx, [ebp + 0x237c]
push edx
call fcn.004e1b10
add esp, 0x10
push esi
call dword [sym.imp.USER32.dll_CharUpperA]
push edi
call dword [sym.imp.USER32.dll_CharUpperA]
cmp dword [0x74ac88], ebx
je 0x521485
push str._UPD__Sending_LogLine_Event_771
push ebx
call fcn.004f0f30
add esp, 8
push 1
push edi
lea eax, [ebp + 0x237c]
push eax
push esi
push 0x60c810
push ebx
push str.eScan_Updater
push 0x303
call fcn.00513910
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1c], edx
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x5200b0
lea eax, [ebp + 0x2fac]
push eax
push str.Unable_to_find_Exported_Procedures_within__s_
lea ecx, [ebp + 0x2584]
push ecx
call fcn.005dfb23
push ebx
push 1
push ebx
lea edx, [ebp + 0x2584]
push edx
call fcn.004f0980
add esp, 0x1c
cmp dword [0x74ac88], ebx
je 0x521501
lea eax, [ebp + 0x2584]
push eax
push str._UPD___s
push ebx
call fcn.004f0f30
add esp, 0xc
lea ecx, [ebp - 0x24]
push ecx
call fcn.004f37c0
lea edx, [ebp + 0x2fac]
push edx
call fcn.004e0670
lea eax, [ebp + 0x2da4]
push eax
call fcn.004e0670
add esp, 0xc
cmp byte [ebp + 0x2b9c], bl
je 0x52153c
lea ecx, [ebp + 0x2b9c]
push ecx
call fcn.004e0670
add esp, 4
cmp byte [ebp + 0x2ca0], bl
je 0x521553
lea edx, [ebp + 0x2ca0]
push edx
call fcn.004e0670
add esp, 4
cmp byte [ebp + 0x2994], bl
je 0x52156a
lea eax, [ebp + 0x2994]
push eax
call fcn.004e0670
add esp, 4
cmp byte [ebp + 0x2a98], bl
je 0x521581
lea ecx, [ebp + 0x2a98]
push ecx
call fcn.004e0670
add esp, 4
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1c], eax
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x5200b0
cmp dword [0x74ac88], ebx
je 0x5215c1
push str._UPD__
push ebx
call fcn.004f0f30
add esp, 8
cmp dword [0x74ac88], ebx
je 0x5215c1
push str._UPD__FreeRoot
push ebx
call fcn.004f0f30
add esp, 8
cmp dword [ebp - 0x2c], ebx
je 0x5215d4
push ebx
push ebx
lea ecx, [ebp - 0x2c]
push ecx
call fcn.004f7600
add esp, 0xc
cmp dword [0x74ac88], ebx
je 0x5215ea
push str._UPD__FreeRoot_a_
push ebx
call fcn.004f0f30
add esp, 8
cmp dword [ebp - 0x40], ebx
je 0x521606
push ebx
lea edx, [ebp + 0x1554]
push edx
lea eax, [ebp + 0x1248]
push eax
call fcn.004eca90
add esp, 0xc
cmp dword [0x74ac88], ebx
je 0x52161c
push str._UPD__FreeRoot_b_
push ebx
call fcn.004f0f30
add esp, 8
lea ecx, [ebp - 0x30]
push ecx
call fcn.004dca10
cmp dword [0x74ac88], ebx
je 0x52163b
push str._UPD__Returning_From_LoadUPDll_Wrap
push ebx
call fcn.004f0f30
add esp, 8
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x30c0]
xor ecx, ebp
call fcn.005dfbbe
add ebp, 0x30c4
mov esp, ebp
pop ebp
ret