Function at 0x4087a0
Capabilities:
Get common file path
Initialize winhttp library
Reference http user-agent string

Disassembly:
push ebp
lea ebp, [esp - 0xb08]
sub esp, 0xb08
push 0xffffffffffffffff
push 0x606b20
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6aae14]
xor eax, ebp
mov dword [ebp + 0xb04], 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 + 0xb14]
xor ebx, ebx
push 0x3ff
mov dword [ebp - 0x14], ecx
lea ecx, [ebp + 1]
push ebx
push ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], ebx
mov byte [ebp], bl
call fcn.005dfd60
xor eax, eax
push 0x1fe
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp + 0x906]
xor edx, edx
push ebx
push eax
xor edi, edi
mov dword [ebp - 0x40], ebx
mov word [ebp + 0x904], dx
call fcn.005dfd60
push 0x3fe
lea edx, [ebp + 0x402]
xor ecx, ecx
push ebx
push edx
mov word [ebp + 0x400], cx
call fcn.005dfd60
add esp, 0x24
push 0x6ad33c
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov esi, eax
cmp dword [0x6acea8], ebx
jne 0x4088a5
lea eax, [ebp - 0x28]
push eax
push str.AsyncDebug
push 0x60d9ec
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x28], ebx
mov dword [0x6acea8], 1
call fcn.004d5820
mov eax, dword [ebp - 0x28]
mov ecx, 1
cmp eax, ecx
je 0x40889f
cmp eax, 2
jne 0x4088a5
mov dword [0x6acea0], ecx
mov dword [0x6acea4], ecx
push esi
lea ecx, [ebp + 0x400]
push str.WinHTTP_Initialize_:_TC_u
push ecx
call fcn.004085b0
add esp, 0xc
cmp dword [0x6acea4], ebx
je 0x4088d7
lea edx, [ebp + 0x400]
push edx
push 0x60e7f4
push ebx
call fcn.004f0f30
add esp, 0xc
cmp esi, 1
jle 0x4088f0
cmp dword [0x6ad338], ebx
jne 0x4088f0
push 0x14
call fcn.004d5a60
add esp, 4
jmp 0x4088d7
mov eax, dword [ebp + 0xb10]
mov esi, dword [ebp - 0x14]
push 1
mov dword [esi + 0x87c], eax
call fcn.004f4130
add esp, 4
cmp dword [0x6ad338], ebx
jne 0x40897c
lea ecx, [ebp + 0x400]
push str.WinHTTP_CheckAndWaitForInternetConnectivity_
push ecx
mov dword [ebp - 0x40], 0x6ad334
mov dword [ebp - 0x3c], 0x6ad230
mov dword [ebp - 0x38], 0x6ad128
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 1
call fcn.004085b0
add esp, 8
cmp dword [0x6acea4], ebx
je 0x408961
lea edx, [ebp + 0x400]
push edx
push 0x60e7f4
push ebx
call fcn.004f0f30
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call fcn.0042f850
mov eax, 1
add esp, 4
mov dword [0x6ad338], eax
mov dword [0x6acebc], eax
mov ecx, dword [0x6ad334]
mov dword [0x6acec0], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x460], eax
cmp dword [esi + 0x45c], ebx
je 0x4089d9
lea edx, [ebp + 0x400]
push str.WinHTTP_DownloadFromLocalNetworkServer___apasetup_
push edx
call fcn.004085b0
add esp, 8
cmp dword [0x6acea4], ebx
je 0x4089cd
lea eax, [ebp + 0x400]
push eax
push 0x60e7f4
push ebx
call fcn.004f0f30
add esp, 0xc
cmp dword [esi + 0x45c], ebx
jne 0x408b04
cmp byte [0x6ad230], bl
je 0x408b04
cmp byte [0x6ad128], bl
je 0x408b04
push 0x6ad128
push 0x6ad230
xor eax, eax
lea ecx, [ebp]
push str.httphttp:___s:_s
push ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call fcn.005dfb23
push 0x802
call fcn.004d9470
add esp, 0x14
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x408b04
push 0x400
push eax
push 0xffffffffffffffff
lea edx, [ebp]
push edx
push ebx
push ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp + 0x400]
push str.WinHTTP_SettingProxyConfig_
push eax
call fcn.004085b0
add esp, 8
cmp dword [0x6acea4], ebx
je 0x408a7b
lea ecx, [ebp + 0x400]
push ecx
push 0x60e7f4
push ebx
call fcn.004f0f30
add esp, 0xc
lea edx, [ebp - 0x20]
push edx
call dword [sym.imp.WINHTTP.dll_WinHttpSetDefaultProxyConfiguration]
test eax, eax
je 0x408ad5
mov edi, 1
cmp dword [0x6ad124], ebx
jne 0x408abc
call fcn.004dcdb0
cmp eax, ebx
je 0x408ab6
push 0x6ad128
push 0x6ad230
push str._Proxy_Configuration_Set:__s:_s_n
call fcn.005e0e7f
add esp, 0xc
mov dword [0x6ad124], edi
cmp dword [0x6acea4], ebx
je 0x408af5
push 0x6ad128
push 0x6ad230
push str._Proxy_Configuration_Set:__s:_s
jmp 0x408aec
cmp dword [0x6acea4], ebx
je 0x408af5
push 0x6ad128
push 0x6ad230
push str._WinHttpSetDefaultProxyConfiguration_FAILED_to_set_to__s:_s
push ebx
call fcn.004f0f30
add esp, 0x10
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004f7700
add esp, 4
mov dword [ebp - 0x1c], ebx
cmp edi, ebx
je 0x408b99
lea ecx, [ebp + 0x400]
push str.WinHTTPOpen_via_Proxy
push ecx
call fcn.004085b0
add esp, 8
cmp dword [0x6acea4], ebx
je 0x408b3d
lea edx, [ebp + 0x400]
push edx
push 0x60e7f4
push ebx
call fcn.004f0f30
add esp, 0xc
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x408b6c
cmp byte [eax], bl
je 0x408b6c
push eax
lea eax, [ebp + 0x904]
push eax
call fcn.004dab80
add esp, 8
push 0x10000000
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x904]
push ecx
jmp 0x408c13
mov ecx, str.Mozilla_5.0__Windows__U__Windows_NT_5.1__en_US__rv:1.9.2.15__Gecko_20110303_Firefox_3.6.15__.NET_CLR_3.5.30729_
lea edx, [ebp + 0x904]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x408b77
push 0x10000000
push ebx
push ebx
push ebx
lea ecx, [ebp + 0x904]
push ecx
jmp 0x408c13
lea edx, [ebp + 0x400]
push 0x60e850
push edx
call fcn.004085b0
add esp, 8
cmp dword [0x6acea4], ebx
je 0x408bca
lea eax, [ebp + 0x400]
push eax
push 0x60e7f4
push ebx
call fcn.004f0f30
add esp, 0xc
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x408be7
cmp byte [eax], bl
je 0x408be7
push eax
lea ecx, [ebp + 0x904]
push ecx
call fcn.004dab80
add esp, 8
jmp 0x408c03
mov ecx, str.Mozilla_5.0__Windows__U__Windows_NT_5.1__en_US__rv:1.9.2.15__Gecko_20110303_Firefox_3.6.15__.NET_CLR_3.5.30729_
lea edx, [ebp + 0x904]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x408bf2
push 0x10000000
push ebx
push ebx
push 1
lea edx, [ebp + 0x904]
push edx
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
push 0x103
mov dword [esi + 0x464], eax
lea eax, [ebp + 0x801]
push ebx
push eax
mov byte [ebp + 0x800], bl
call fcn.005dfd60
add esp, 0xc
lea ecx, [ebp + 0x800]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edx, [esi + 0x350]
push edx
push ebx
push 0x60e84c
lea eax, [ebp + 0x800]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov dword [ebp - 4], 0xffffffff
jmp 0x408c90
add esi, 0x47c
push str.WinHTTP_Returning_Session_
push esi
call fcn.004085b0
add esp, 8
cmp dword [0x6acea4], ebx
je 0x408cbb
push esi
push 0x60e7f4
push ebx
call fcn.004f0f30
add esp, 0xc
mov ecx, dword [ebp - 0x14]
xor eax, eax
cmp dword [ecx + 0x464], ebx
setne al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xb04]
xor ecx, ebp
call fcn.005dfbbe
add ebp, 0xb08
mov esp, ebp
pop ebp
ret 8