Function at 0x100604b0
Capabilities:
Delete registry value
Get common file path
Set registry value

Disassembly:
sub esp, 0x738
mov eax, dword [0x10189710]
xor eax, esp
mov dword [esp + 0x734], eax
push ebx
push ebp
mov ebp, dword [esp + 0x744]
push esi
push edi
xor ebx, ebx
push 0x103
lea eax, [esp + 0x1d]
push ebx
push eax
mov byte [esp + 0x24], bl
call fcn.1012e060
push 0x207
lea ecx, [esp + 0x549]
push ebx
push ecx
mov byte [esp + 0x550], bl
call fcn.1012e060
mov eax, str.eScan
add esp, 0x18
mov ecx, eax
call fcn.1005a090
test eax, eax
je 0x10060529
mov eax, str.MailScan
mov ecx, str.eScan
call fcn.1005a090
test eax, eax
jne 0x1006067c
mov eax, str.progressover
mov ecx, str.InstallDirectory
call fcn.1005a090
test eax, eax
je 0x1006067c
cmp dword [0x101b59b8], ebx
jne 0x10060809
push 0x103
lea edx, [esp + 0x22d]
push ebx
push edx
mov byte [esp + 0x234], bl
call fcn.1012e060
push 0x207
lea eax, [esp + 0x341]
push ebx
push eax
mov byte [esp + 0x348], bl
call fcn.1012e060
push 0x103
lea ecx, [esp + 0x13d]
push ebx
push ecx
mov byte [esp + 0x144], bl
call fcn.1012e060
add esp, 0x24
push 0x208
lea edx, [esp + 0x334]
push edx
push ebx
mov dword [0x101b59b8], 1
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x104
lea ecx, [esp + 0x22c]
lea edx, [esp + 0x334]
call fcn.1005f370
add esp, 4
test eax, eax
je 0x100605f0
lea eax, [esp + 0x228]
push eax
lea ecx, [esp + 0x334]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x120]
lea edx, [esp + 0x330]
call fcn.10060880
lea edx, [esp + 0x120]
push ebx
push edx
call fcn.100612a0
lea eax, [esp + 0x128]
push eax
push str._sWIN.INI
push 0x101b59c0
call fcn.10127dc0
push 1
push ebx
xor edx, edx
mov ecx, 0x101b59c0
call fcn.10060eb0
add esp, 0x1c
test eax, eax
jne 0x10060676
call fcn.1005fd80
push 0x101b59c0
lea ecx, [esp + 0x53c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.eScan
lea esi, [esp + 0x53c]
mov eax, ebp
mov ebx, str.InstallDirectory
call fcn.1005f6b0
add esp, 4
jmp 0x10060866
mov byte [0x101b59c0], bl
mov esi, ebp
mov edi, str.InstallDirectory
mov ebx, str.eScan
call fcn.1005fd10
xor esi, esi
xor edi, edi
xor ebx, ebx
call fcn.1005fd10
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [0x101c83d8], bl
jne 0x10060701
push 0x104
push 0x101c83d8
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x104
push 0x101c84e0
call fcn.1005f830
add esp, 8
mov esi, 0x101c83d8
call fcn.10065240
mov esi, 0x101c84e0
call fcn.10065240
mov eax, 0x101c83d8
mov ecx, esi
call fcn.1005a090
test eax, eax
je 0x10060701
mov ecx, esi
mov dword [0x101a42e0], ebx
call fcn.10065200
push str.WIN.INI
push esi
call edi
cmp dword [0x101a42e0], ebx
jne 0x10060722
push str.eScan
mov esi, 0x101c84e0
mov eax, ebp
mov ebx, str.InstallDirectory
call fcn.1005f6b0
add esp, 4
call fcn.10067710
test eax, eax
je 0x10060866
push str.SoftwareMicroWorld
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
push reloc.WS2_32.dll_bind
call esi
test eax, eax
jne 0x10060866
mov eax, dword [esp + 0x14]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push eax
call ebx
push 0x10158184
lea ecx, [esp + 0x1c]
push ecx
call edi
push str.WIN.INI
lea edx, [esp + 0x1c]
push edx
call edi
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
push reloc.WS2_32.dll_bind
call esi
test eax, eax
jne 0x10060866
mov edx, dword [esp + 0x14]
push edx
call ebx
push str.eScan
call fcn.10061df0
add esp, 4
push 0x10158184
lea eax, [esp + 0x1c]
push eax
call edi
push str.eScan
lea ecx, [esp + 0x1c]
push ecx
call edi
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
push reloc.WS2_32.dll_bind
call esi
test eax, eax
jne 0x10060866
push str.InstallDirectory
call fcn.10061df0
test ebp, ebp
jne 0x1006082c
mov ecx, dword [esp + 0x18]
add esp, 4
push str.InstallDirectory
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov edx, dword [esp + 0x14]
push edx
jmp 0x10060864
cmp byte [0x101b59c0], bl
je 0x1006067c
call fcn.1005fd80
push 0x101b59c0
lea edx, [esp + 0x53c]
push edx
jmp 0x10060650
push ebp
call fcn.10061df0
add esp, 8
cmp byte [ebp], 0
mov eax, ebp
je 0x10060846
lea ecx, [ecx]
inc eax
cmp byte [eax], 0
jne 0x10060840
sub eax, ebp
inc eax
push eax
mov eax, dword [esp + 0x18]
push ebp
push 1
push 0
push str.InstallDirectory
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [esp + 0x14]
push ecx
call ebx
mov ecx, dword [esp + 0x744]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10127db1
add esp, 0x738
ret