Function at 0x1019c04
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
mov eax, 0x10813b4
call fcn.0105c800
sub esp, 0x620
mov al, byte [0x10a40b8]
push ebx
push esi
push edi
mov esi, ecx
push 0x40
mov byte [ebp - 0x128], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x127]
rep stosd dword es:[edi], eax
push dword [ebp + 8]
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
mov byte [ebp - 0xd], 1
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x62c]
mov byte [ebp - 0xe], 1
push eax
call fcn.0105d010
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
pop ecx
pop ecx
push str.jsproxy.dll
call ebx
test eax, eax
mov dword [esi + 4], eax
jne 0x1019c6c
and byte [ebp - 0xd], al
call fcn.0100a81c
test al, al
je 0x1019cdc
push 0
push 0
call fcn.0100a7a2
pop ecx
mov edi, eax
pop ecx
lea eax, [ebp - 0x24]
push eax
mov ecx, edi
call fcn.0100c8ff
and dword [ebp - 4], 0
push str.proxy.pac
lea ecx, [ebp - 0x24]
call fcn.01009731
lea ecx, [ebp - 0x24]
call fcn.0100972d
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.0105d010
and byte [esi + 0x24], 0
pop ecx
pop ecx
mov ecx, edi
call fcn.0100a7f1
lea ecx, [ebp - 0x24]
call fcn.01009915
test al, al
je 0x1019cd0
and byte [ebp - 0xe], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.010095e5
cmp byte [ebp - 0xd], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
je 0x1019d47
push str.urlmon.dll
call ebx
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x1019cf9
and byte [ebp - 0xd], al
push str.wininet.dll
call ebx
test eax, eax
mov dword [ebp - 0x14], eax
jne 0x1019d0a
and byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1019d47
push str.InternetInitializeAutoProxyDll
push dword [esi + 4]
call edi
test eax, eax
mov dword [esi + 8], eax
je 0x1019d43
push str.InternetDeInitializeAutoProxyDll
push dword [esi + 4]
call edi
test eax, eax
mov dword [esi + 0xc], eax
je 0x1019d43
push str.InternetGetProxyInfo
push dword [esi + 4]
call edi
test eax, eax
mov dword [esi + 0x10], eax
jne 0x1019d47
and byte [ebp - 0xd], 0
cmp byte [ebp - 0xe], 0
je 0x1019e13
cmp byte [ebp - 0xd], 0
je 0x1019e0f
cmp byte [ebp + 0xc], 0
je 0x1019d95
push str.DetectAutoProxyUrl
push dword [ebp - 0x14]
call edi
test eax, eax
je 0x1019d95
push 3
lea ecx, [ebp - 0x62c]
push 0x400
push ecx
call eax
cmp eax, 1
je 0x1019d95
push dword [ebp + 8]
lea eax, [ebp - 0x62c]
push eax
call fcn.0105d010
pop ecx
pop ecx
lea eax, [ebp - 0x62c]
push eax
call fcn.0105c0e0
test eax, eax
pop ecx
jbe 0x1019e0f
lea eax, [ebp - 0x128]
push eax
call fcn.0105c0e0
test eax, eax
pop ecx
jne 0x1019de4
lea eax, [ebp - 0x22c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x128]
push eax
push 0
lea eax, [ebp - 0x22c]
push 0x10a40b8
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
push str.URLDownloadToFileA
push dword [ebp - 0x18]
call edi
xor ecx, ecx
cmp eax, ecx
je 0x1019e13
push ecx
lea edx, [ebp - 0x128]
push ecx
push edx
lea edx, [ebp - 0x62c]
push edx
push ecx
call eax
test eax, eax
setge byte [ebp - 0xd]
jmp 0x1019e13
and byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x1019e5c
lea ebx, [esi + 0x18]
lea eax, [ebp - 0x128]
push eax
mov ecx, ebx
call fcn.01009887
call fcn.0100a81c
test al, al
je 0x1019e63
push 0
push 0
call fcn.0100a7a2
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x1019e63
mov ecx, ebx
call fcn.0100972d
push eax
mov ecx, edi
call fcn.0100b289
mov ecx, edi
call fcn.0100a7f1
jmp 0x1019e63
mov ecx, esi
call fcn.0101a101
cmp dword [ebp - 0x18], 0
mov edi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
je 0x1019e74
push dword [ebp - 0x18]
call edi
cmp dword [ebp - 0x14], 0
je 0x1019e7f
push dword [ebp - 0x14]
call edi
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
mov byte [esi + 0x14], al
mov byte [esi + 0x15], 1
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8