Function at 0x40d7e0
Capabilities:
Connect to http server
Create http request
Query remote server for available data
Read data from internet
Receive data
Send data
Send http request

Disassembly:
sub esp, 0x6e4
mov eax, dword [0x6e2f0c]
xor eax, esp
mov dword [esp + 0x6e0], eax
push ebx
push ebp
mov ebp, dword [esp + 0x6f4]
mov eax, dword [ebp]
mov edx, dword [eax + 0x60]
push esi
push edi
push 6
mov ecx, ebp
mov dword [esp + 0x14], ebp
call edx
mov esi, eax
mov eax, dword [ebp]
mov edx, dword [eax + 0x60]
push 7
mov ecx, ebp
mov dword [esp + 0x20], esi
call edx
mov edi, eax
mov ecx, esi
mov dword [esp + 0x24], edi
call fcn.00420300
mov ecx, edi
mov ebx, eax
call fcn.00420300
mov esi, eax
mov dword [esp + 0x14], esi
mov ecx, 0x5b9b8c
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40d864
test dl, dl
je 0x40d860
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40d864
add eax, 2
add ecx, 2
test dl, dl
jne 0x40d844
xor eax, eax
jmp 0x40d869
sbb eax, eax
sbb eax, 0xffffffff
xor edi, edi
cmp eax, edi
je 0x40ddbe
mov ecx, 0x5b9b8c
mov eax, esi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40d8a0
test dl, dl
je 0x40d89c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40d8a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40d880
xor eax, eax
jmp 0x40d8a5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x40ddbe
lea eax, [esp + 0x66]
push eax
mov ecx, 0x6e5a38
call fcn.00415cd0
push 0x11
lea ecx, [esp + 0x37]
push ebx
push ecx
mov word [esp + 0x35], 0x111
call fcn.00534000
push 0x11
lea edx, [esp + 0x54]
push esi
push edx
call fcn.00534000
push 0x11
lea eax, [esp + 0x71]
push str.1111
push eax
call fcn.00534000
push 0x10
lea ecx, [esp + 0xa0]
push str.MSOClient1
push ecx
call fcn.00534000
push 0x11
push ebx
push 0x703a84
call fcn.00534000
push 0x11
push esi
push 0x703a95
call fcn.00534000
add esp, 0x48
push 9
mov ecx, 0x6f3010
call fcn.00437da0
mov edx, dword [eax + 0x350]
push 0x6f5764
mov ecx, 0x6f5760
mov dword [0x6f57f4], edx
call fcn.004c86e0
mov al, byte [0x6f57f4]
mov byte [esp + 0x88], al
cmp al, 3
jne 0x40dd0a
push 0x3ff
lea eax, [esp + 0x2f5]
push edi
push eax
mov dword [esp + 0x2c], edi
mov byte [esp + 0x2fc], 0
call fcn.0058dfb0
push 0xff
lea ecx, [esp + 0x201]
push edi
push ecx
mov byte [esp + 0x208], 0
call fcn.0058dfb0
add esp, 0x18
push edi
push edi
push edi
push edi
push str.BUDDY
mov dword [esp + 0x2c], edi
call dword [sym.imp.WININET.dll_InternetOpenA]
mov ebp, eax
test ebp, ebp
jne 0x40da64
push 0xff
push eax
lea edx, [esp + 0x95]
push edx
mov byte [esp + 0x98], al
call fcn.0058dfb0
add esp, 0xc
push 0x66d
mov ecx, 0x6f58c8
call fcn.004c9d30
push eax
lea eax, [esp + 0x90]
push str._s__004_
push eax
call fcn.0058dd5f
lea ecx, [esp + 0x98]
push ecx
push 1
push 0x179c
push 0x6f3010
call fcn.0043b800
add esp, 0x1c
push 1
mov ecx, 0x6f3010
mov edi, eax
call fcn.00437d50
mov esi, eax
test esi, esi
je 0x40de50
test edi, edi
je 0x40de50
movzx edx, word [esi + 0x1ee]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fadd dword [esi + 0x1c8]
mov ebx, dword [edi]
call fcn.0058e6e0
fld dword [esi + 0x1c4]
push eax
call fcn.0058e6e0
push eax
mov eax, dword [ebx + 0x24]
mov ecx, edi
call eax
jmp 0x40de50
push 0
push 0
push 3
push 0x5b9b8c
push 0x5b9b8c
push 0
push str.www.google.com
push ebp
call dword [sym.imp.WININET.dll_InternetConnectA]
mov edi, eax
test edi, edi
jne 0x40db3c
push 0xff
push eax
lea ecx, [esp + 0x95]
push ecx
mov byte [esp + 0x98], al
call fcn.0058dfb0
add esp, 0xc
push 0x66d
mov ecx, 0x6f58c8
call fcn.004c9d30
push eax
lea edx, [esp + 0x90]
push str._s__005_
push edx
call fcn.0058dd5f
lea eax, [esp + 0x98]
push eax
push 1
push 0x179c
push 0x6f3010
call fcn.0043b800
add esp, 0x1c
push 1
mov ecx, 0x6f3010
mov edi, eax
call fcn.00437d50
mov esi, eax
test esi, esi
je 0x40de50
test edi, edi
je 0x40de50
movzx ecx, word [esi + 0x1ee]
mov ebx, dword [edi]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fadd dword [esi + 0x1c8]
call fcn.0058e6e0
fld dword [esi + 0x1c4]
push eax
call fcn.0058e6e0
mov edx, dword [ebx + 0x24]
push eax
mov ecx, edi
call edx
jmp 0x40de50
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x37]
push ecx
lea edx, [esp + 0x1f8]
push str.Auth_AuthUsrInfoChk.aspx_USRID_sUSRPWD_s
push edx
call fcn.0058dd5f
add esp, 0x10
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x204]
push eax
push str.POST
push edi
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
push 0
push 0
push 0
mov esi, eax
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
push 0
push 0
lea ecx, [esp + 0x20]
push ecx
push esi
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x2f8]
push ecx
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
push ebp
call esi
cmp byte [esp + 0x2f0], 0x30
je 0x40dc5e
push 0xff
lea edx, [esp + 0x91]
push 0
push edx
mov byte [esp + 0x98], 0
call fcn.0058dfb0
add esp, 0xc
push 0x66d
mov ecx, 0x6f58c8
call fcn.004c9d30
push eax
lea eax, [esp + 0x90]
push str._s__001_
push eax
call fcn.0058dd5f
lea ecx, [esp + 0x98]
push ecx
push 1
push 0x179c
push 0x6f3010
call fcn.0043b800
add esp, 0x1c
push 1
mov ecx, 0x6f3010
mov edi, eax
call fcn.00437d50
mov esi, eax
test esi, esi
je 0x40de50
test edi, edi
je 0x40de50
movzx edx, word [esi + 0x1ee]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x40da3e
push 0x11
lea ecx, [esp + 0x9b]
push ebx
push ecx
mov word [esp + 0x99], 0x6f11
call fcn.00534000
mov edx, dword [esp + 0x20]
push 0x11
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.00534000
push 0x10
lea ecx, [esp + 0xf8]
push str.MSOClient1
push ecx
call fcn.00534000
lea eax, [esp + 0x314]
add esp, 0x24
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40dcb0
sub eax, edx
inc eax
push eax
lea edx, [esp + 0x2f4]
push edx
lea eax, [esp + 0xf5]
push eax
call fcn.00534000
mov cl, byte [0x6f57f4]
mov edx, dword [0x6e556c]
add esp, 0xc
push 0x161
lea eax, [esp + 0x90]
mov byte [esp + 0xf0], cl
push eax
mov ecx, 0x705050
mov dword [esp + 0x9b], edx
call fcn.00532770
mov ebp, dword [esp + 0x10]
jmp 0x40dd25
mov ecx, dword [0x6e556c]
push 0x61
lea edx, [esp + 0x2c]
mov dword [esp + 0x33], ecx
push edx
mov ecx, 0x705050
call fcn.00532770
push 0x11
push ebx
push 0x6e4718
call fcn.00534000
add esp, 0xc
push 0x123
mov ecx, 0x6f58c8
call fcn.004c9d30
push eax
push 3
push 0x17a3
push 0x6f3010
call fcn.0043b800
add esp, 0x10
push 1
mov ecx, 0x6f3010
mov edi, eax
call fcn.00437d50
mov esi, eax
test esi, esi
je 0x40dda5
test edi, edi
je 0x40dda5
movzx eax, word [esi + 0x1ee]
mov ebp, dword [edi]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esi + 0x1c8]
call fcn.0058e6e0
fld dword [esi + 0x1c4]
push eax
call fcn.0058e6e0
mov edx, dword [ebp + 0x24]
push eax
mov ecx, edi
call edx
mov ebp, dword [esp + 0x10]
push 1
mov ecx, 0x6e5538
call fcn.00403b80
push ebx
mov ecx, 0x6ff7d0
call fcn.004f27e0
jmp 0x40de2a
push 0x16a
mov ecx, 0x6f58c8
call fcn.004c9d30
push eax
push 1
push 0x1787
push 0x6f3010
call fcn.0043b800
add esp, 0x10
push 1
mov ecx, 0x6f3010
mov edi, eax
call fcn.00437d50
mov esi, eax
test esi, esi
je 0x40de2a
test edi, edi
je 0x40de2a
movzx eax, word [esi + 0x1ee]
mov ebx, dword [edi]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esi + 0x1c8]
call fcn.0058e6e0
fld dword [esi + 0x1c4]
push eax
call fcn.0058e6e0
mov edx, dword [ebx + 0x24]
push eax
mov ecx, edi
call edx
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x3c]
push 0
call edx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov edx, dword [eax + 0x3c]
push 0
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 0xc]
push 1
mov ecx, ebp
call edx
mov ecx, dword [esp + 0x6f0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0058d3fe
add esp, 0x6e4
ret