Function at 0x100333e0
Capabilities:
Get common file path
Set file attributes

Disassembly:
sub esp, 0x744
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x73c], eax
mov eax, dword [esp + 0x748]
push ebx
push ebp
mov ebp, dword [esp + 0x754]
push esi
push edi
xor ebx, ebx
push 0x3ff
lea ecx, [esp + 0x34d]
push ebx
push ecx
mov dword [esp + 0x24], eax
mov byte [esp + 0x354], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea edx, [esp + 0x245]
push ebx
push edx
mov byte [esp + 0x24c], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea eax, [esp + 0x35]
push ebx
push eax
mov byte [esp + 0x3c], bl
call fcn.10116880
mov ecx, dword [str.hosts_update_mutex]
mov edx, dword [0x10150110]
mov eax, dword [0x10150114]
add esp, 0xc
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x10150118]
push 0x103
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], edx
mov dx, word [0x1015011c]
mov dword [esp + 0x28], eax
mov al, byte [0x1015011e]
lea ecx, [esp + 0x13d]
push ebx
push ecx
mov word [esp + 0x38], dx
mov byte [esp + 0x3a], al
mov byte [esp + 0x144], bl
call fcn.10116880
add esp, 0xc
push ebx
push 1
lea edx, [esp + 0x24]
push edx
push 1
push ebx
call sym.EncDec.dll_MyCreateMutex
mov edi, eax
mov dword [esp + 0x14], edi
cmp edi, ebx
je 0x10033514
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, 0xffffffff
je 0x10033514
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10033514
cmp edi, ebx
je 0x100334f6
lea eax, [esp + 0x14]
push eax
call fcn.100673f0
push 0x64
call esi
push ebx
push 1
lea ecx, [esp + 0x24]
push ecx
push 1
push ebx
call sym.EncDec.dll_MyCreateMutex
mov edi, eax
mov dword [esp + 0x14], edi
cmp edi, ebx
jne 0x100334d6
cmp ebp, ebx
je 0x10033528
cmp byte [ebp], bl
je 0x10033528
push ebp
lea edx, [esp + 0x13c]
push edx
jmp 0x10033535
push str.0.0.0.0
lea eax, [esp + 0x13c]
push eax
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebp
push 0x104
lea ecx, [esp + 0x244]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea esi, [esp + 0x240]
call fcn.10049c80
mov edx, esi
push edx
lea eax, [esp + 0x34]
push eax
call ebp
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [esp + 0x30], bl
je 0x10033594
lea eax, [esp + 0x30]
inc eax
cmp byte [eax], bl
jne 0x10033576
lea ecx, [esp + 0x30]
sub eax, ecx
je 0x10033594
cmp byte [esp + eax + 0x2f], 0x5c
je 0x10033594
push 0x10149ea8
mov edx, ecx
push edx
call esi
push str.driversetchosts
lea eax, [esp + 0x34]
push eax
call esi
push 1
push ebx
xor edx, edx
lea ecx, [esp + 0x38]
call fcn.10044660
add esp, 8
test eax, eax
je 0x100335bc
call fcn.10069bb0
jmp 0x100335de
lea eax, [esp + 0x30]
call fcn.10044c10
cmp eax, 0xffffffff
je 0x100335de
test al, 7
je 0x100335de
push 0x80
lea ecx, [esp + 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov esi, dword [esp + 0x18]
push esi
lea ecx, [esp + 0x13c]
lea edx, [esp + 0x34]
call fcn.10032a40
add esp, 4
cmp eax, 1
je 0x10033601
cmp eax, ebx
jne 0x10033659
jmp 0x10033615
push esi
lea ecx, [esp + 0x13c]
lea edx, [esp + 0x34]
call fcn.10032d70
add esp, 4
mov eax, str.0.0.0.0
lea ecx, [esp + 0x138]
call fcn.10031890
test eax, eax
je 0x10033659
push esi
lea edx, [esp + 0x13c]
push edx
lea eax, [esp + 0x350]
push str._s__t_s_n
push eax
call fcn.1010d6a8
lea ecx, [esp + 0x358]
push ecx
lea ecx, [esp + 0x44]
call fcn.100462c0
add esp, 0x14
cmp edi, ebx
je 0x10033667
lea edx, [esp + 0x14]
push edx
call fcn.100673f0
mov ecx, dword [esp + 0x74c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1010d699
add esp, 0x744
ret 8