Function at 0x40ffc0
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, 0x70c
mov eax, dword [0x691844]
xor eax, esp
mov dword [esp + 0x708], eax
mov eax, dword [esp + 0x710]
push esi
mov esi, dword [esp + 0x718]
cmp eax, 0xf
jne 0x41001c
push 0x12
mov ecx, 0x6830f8
call fcn.004412c0
mov edx, dword [eax]
mov edx, dword [edx + 8]
xor ecx, ecx
cmp dword [eax + 0x10], ecx
sete cl
push ecx
mov ecx, eax
call edx
pop esi
mov ecx, dword [esp + 0x708]
xor ecx, esp
call fcn.005997a8
add esp, 0x70c
ret
cmp eax, 0x10
jne 0x410055
push 0x11
mov ecx, 0x6830f8
call fcn.004412c0
mov edx, dword [eax]
mov edx, dword [edx + 8]
xor ecx, ecx
cmp dword [eax + 0x10], ecx
sete cl
push ecx
mov ecx, eax
call edx
pop esi
mov ecx, dword [esp + 0x708]
xor ecx, esp
call fcn.005997a8
add esp, 0x70c
ret
push ebx
push ebp
push edi
mov ecx, esi
cmp eax, 0x19
jne 0x4103fb
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x13
call edx
mov ebp, eax
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x14
mov ecx, esi
call edx
mov ebx, eax
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x15
mov ecx, esi
call edx
mov edi, eax
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x16
mov ecx, esi
call edx
mov dword [esp + 0x14], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x17
mov ecx, esi
call edx
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x18
mov ecx, esi
call edx
mov ecx, ebp
mov dword [esp + 0x10], eax
call fcn.00425b70
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4100c0
sub eax, edx
cmp eax, 4
jae 0x4100ec
push 0x5b06d8
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov ecx, ebx
call fcn.00425b70
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4100f6
sub eax, edx
cmp eax, 4
jb 0x41011e
mov ecx, edi
call fcn.00425b70
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410110
sub eax, edx
cmp eax, 4
jae 0x41013c
push 0x5b06b4
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov ecx, dword [esp + 0x14]
call fcn.00425b70
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410148
sub eax, edx
cmp eax, 4
jae 0x410174
push 0x5b066c
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov ecx, dword [esp + 0x18]
call fcn.00425b70
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410180
sub eax, edx
cmp eax, 0xa
je 0x4101ac
push 0x5b0648
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov ecx, edi
call fcn.00425b70
mov ecx, ebx
mov esi, eax
call fcn.00425b70
lea esp, [esp]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x4101e0
test cl, cl
je 0x4101dc
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4101e0
add eax, 2
add esi, 2
test cl, cl
jne 0x4101c0
xor eax, eax
jmp 0x4101e5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410207
push 0x5b08c0
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov ecx, ebp
call fcn.00425b70
push eax
call fcn.00401f60
add esp, 4
test eax, eax
je 0x410239
push 0x5b0620
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov ecx, ebx
call fcn.00425b70
push eax
call fcn.00401f60
add esp, 4
test eax, eax
je 0x41026b
push 0x5b05f4
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov ecx, dword [esp + 0x14]
call fcn.00425b70
push eax
call fcn.00401f60
add esp, 4
test eax, eax
je 0x41029f
push 0x5b059c
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.00425b70
push eax
call fcn.00401f60
add esp, 4
test eax, eax
je 0x4102d5
push 0x5b0578
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.00425b70
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4102e3
sub eax, edx
cmp eax, 6
je 0x41030f
push 0x5b0558
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
mov ecx, esi
call fcn.00425b70
push eax
call fcn.00401f20
add esp, 4
test eax, eax
je 0x410341
push 0x5b0534
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
jmp 0x410ad6
push 0x90
lea eax, [esp + 0x2c]
push 0
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x20
mov ecx, ebp
mov byte [esp + 0x2e], 7
mov byte [esp + 0x2f], 0x78
call fcn.00425b70
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.00526160
add esp, 0xc
push 0x20
mov ecx, ebx
call fcn.00425b70
push eax
lea edx, [esp + 0x5c]
push edx
call fcn.00526160
mov ecx, dword [esp + 0x20]
add esp, 0xc
push 0x20
call fcn.00425b70
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.00526160
add esp, 0xc
push 0x20
mov ecx, edi
call fcn.00425b70
push eax
lea ecx, [esp + 0x9c]
push ecx
call fcn.00526160
add esp, 0xc
mov ecx, esi
call fcn.00425b70
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
mov edx, dword [0x692fec]
add esp, 4
mov dword [esp + 0xb4], eax
push 0x90
lea eax, [esp + 0x2c]
push eax
mov ecx, 0x68ec10
mov dword [esp + 0x38], edx
call fcn.00525390
jmp 0x410ad6
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 6
call eax
mov edx, dword [esi]
mov edi, eax
mov eax, dword [edx + 0x60]
push 7
mov ecx, esi
mov dword [esp + 0x14], edi
call eax
mov ebp, eax
mov ecx, edi
mov dword [esp + 0x20], ebp
call fcn.00425b70
mov ebx, eax
mov ecx, ebp
mov dword [esp + 0x14], ebx
call fcn.00425b70
mov ebp, eax
mov dword [esp + 0x1c], ebp
mov ecx, 0x5af25f
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410460
test dl, dl
je 0x41045c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410460
add eax, 2
add ecx, 2
test dl, dl
jne 0x410440
xor eax, eax
jmp 0x410465
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410a42
mov ecx, 0x5af25f
mov eax, ebp
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410494
test dl, dl
je 0x410490
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410494
add eax, 2
add ecx, 2
test dl, dl
jne 0x410474
xor eax, eax
jmp 0x410499
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410a42
mov ecx, 0x5af25f
mov eax, str.1111
jmp 0x4104b0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4104d0
test dl, dl
je 0x4104cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4104d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4104b0
xor eax, eax
jmp 0x4104d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410a42
push ebx
mov ecx, 0x6e4f38
call fcn.005821a0
push ebp
mov ecx, 0x6e4f38
call fcn.005821c0
push 0x11
mov al, 0x45
lea ecx, [esp + 0x38]
push ebx
push ecx
mov byte [esp + 0x35], 0
mov byte [esp + 0x36], 7
mov byte [esp + 0x37], 1
mov byte [esp + 0x218], 0x52
mov byte [esp + 0x219], al
mov byte [esp + 0x21a], 0x4c
mov byte [esp + 0x21b], al
mov byte [esp + 0x21c], 0x41
mov byte [esp + 0x21d], 0x53
mov byte [esp + 0x21e], al
mov byte [esp + 0x21f], 0x30
mov byte [esp + 0x220], 0x32
mov byte [esp + 0x221], 0x37
mov byte [esp + 0x222], 0
call fcn.00526160
push 0x11
lea edx, [esp + 0x55]
push ebp
push edx
call fcn.00526160
push 0x11
lea eax, [esp + 0x72]
push str.1111
push eax
call fcn.00526160
push 0x10
lea ecx, [esp + 0x234]
push ecx
lea edx, [esp + 0x93]
push edx
call fcn.00526160
mov ax, word [0x6e500c]
add esp, 0x30
xor edi, edi
push 0x685bac
mov ecx, 0x685ba8
mov word [esp + 0x7b], ax
mov dword [0x685c3c], edi
call fcn.004d5660
mov al, byte [0x685c3c]
mov byte [esp + 0x79], al
cmp al, 3
jne 0x41098b
push 0x3ff
lea ecx, [esp + 0x31d]
push edi
push ecx
mov dword [esp + 0x30], edi
mov byte [esp + 0x324], 0
call sub.MSVCR90.dll_memset
push 0xff
lea edx, [esp + 0x229]
push edi
push edx
mov byte [esp + 0x230], 0
call sub.MSVCR90.dll_memset
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 ebx, eax
cmp ebx, edi
jne 0x4106bc
push 0xff
lea eax, [esp + 0xbd]
push edi
push eax
mov byte [esp + 0xc4], 0
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x66d
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea ecx, [esp + 0xbc]
push str._s__004_
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
lea edx, [esp + 0xc4]
push edx
push 1
push 0x179e
push 0x6830f8
call fcn.00443290
add esp, 0x1c
push 1
mov ecx, 0x6830f8
mov ebx, eax
call fcn.004412c0
mov esi, eax
cmp esi, edi
je 0x410ad6
cmp ebx, edi
je 0x410ad6
movzx eax, word [esi + 0x272]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x41076d
push edi
push edi
push 3
push 0x5af25f
push 0x5af25f
push edi
push str.www.google.com
push ebx
call dword [sym.imp.WININET.dll_InternetConnectA]
mov ebp, eax
cmp ebp, edi
jne 0x410793
push 0xff
lea eax, [esp + 0xbd]
push edi
push eax
mov byte [esp + 0xc4], 0
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x66d
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea ecx, [esp + 0xbc]
push str._s__005_
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
lea edx, [esp + 0xc4]
push edx
push 1
push 0x179e
push 0x6830f8
call fcn.00443290
add esp, 0x1c
push 1
mov ecx, 0x6830f8
mov ebx, eax
call fcn.004412c0
mov esi, eax
cmp esi, edi
je 0x410ad6
cmp ebx, edi
je 0x410ad6
movzx eax, word [esi + 0x272]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [esi + 0x24c]
mov edi, dword [ebx]
call fcn.00599920
fld dword [esi + 0x248]
push eax
call fcn.00599920
mov edx, dword [edi + 0x24]
push eax
mov ecx, ebx
call edx
jmp 0x410ad6
lea eax, [esp + 0x45]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x220]
push str.Auth_AuthUsrInfoChk.aspx_USRID_sUSRPWD_s
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x10
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x22c]
push eax
push str.POST
push ebp
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
push 0
push 0
push 0
mov edi, eax
push 0
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
push 0
push 0
lea ecx, [esp + 0x20]
push ecx
push edi
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x24]
push edx
push eax
lea ecx, [esp + 0x320]
push ecx
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebp
call edi
push ebx
call edi
cmp byte [esp + 0x318], 0x30
je 0x4108d8
push 0xff
lea edx, [esp + 0xbd]
push 0
push edx
mov byte [esp + 0xc4], 0
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x66d
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea eax, [esp + 0xbc]
push str._s__001_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
lea ecx, [esp + 0xc4]
push ecx
push 1
push 0x179e
push 0x6830f8
call fcn.00443290
add esp, 0x1c
push 1
mov ecx, 0x6830f8
mov edi, eax
call fcn.004412c0
mov esi, eax
test esi, esi
je 0x410ad6
test edi, edi
je 0x410ad6
movzx edx, word [esi + 0x272]
mov ebx, dword [edi]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fadd dword [esi + 0x24c]
call fcn.00599920
fld dword [esi + 0x248]
push eax
call fcn.00599920
push eax
mov eax, dword [ebx + 0x24]
mov ecx, edi
call eax
jmp 0x410ad6
mov ecx, dword [esp + 0x14]
push 0x11
push ecx
lea edx, [esp + 0xcc]
push edx
mov byte [esp + 0xc5], 0
mov byte [esp + 0xc6], 7
mov byte [esp + 0xc7], 0x6f
call fcn.00526160
mov eax, dword [esp + 0x28]
push 0x11
push eax
lea ecx, [esp + 0xe9]
push ecx
call fcn.00526160
push 0x10
lea edx, [esp + 0x228]
push edx
lea eax, [esp + 0x117]
push eax
call fcn.00526160
lea eax, [esp + 0x33c]
add esp, 0x24
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410940
sub eax, edx
inc eax
push eax
lea ecx, [esp + 0x31c]
push ecx
lea edx, [esp + 0x112]
push edx
call fcn.00526160
mov al, byte [0x685c3c]
mov ecx, dword [0x692fec]
add esp, 0xc
push 0x152
lea edx, [esp + 0xbc]
mov byte [esp + 0x10d], al
mov dword [esp + 0xc4], ecx
push edx
jmp 0x41099b
mov eax, dword [0x692fec]
push 0x52
lea ecx, [esp + 0x2c]
mov dword [esp + 0x34], eax
push ecx
mov ecx, 0x68ec10
call fcn.00525390
mov edx, dword [esp + 0x14]
push 0x11
push edx
push 0x691aac
call fcn.00526160
add esp, 0xc
push 0x123
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 3
push 0x17a5
push 0x6830f8
call fcn.00443290
add esp, 0x10
push 1
mov ecx, 0x6830f8
mov ebx, eax
call fcn.004412c0
mov edi, eax
test edi, edi
je 0x410a25
test ebx, ebx
je 0x410a25
movzx eax, word [edi + 0x272]
mov ebp, dword [ebx]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fadd dword [edi + 0x24c]
call fcn.00599920
fld dword [edi + 0x248]
push eax
call fcn.00599920
mov edx, dword [ebp + 0x24]
push eax
mov ecx, ebx
call edx
push 1
mov ecx, 0x692fd8
call fcn.004058d0
mov eax, dword [esp + 0x14]
push eax
mov ecx, 0x68d9d8
call fcn.00500610
jmp 0x410aaf
push 0x16a
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
push 1
push 0x1788
push 0x6830f8
call fcn.00443290
add esp, 0x10
push 1
mov ecx, 0x6830f8
mov ebp, eax
call fcn.004412c0
mov ebx, eax
test ebx, ebx
je 0x410ab3
test ebp, ebp
je 0x410ab3
movzx ecx, word [ebx + 0x272]
mov edi, dword [ebp]
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fadd dword [ebx + 0x24c]
call fcn.00599920
fld dword [ebx + 0x248]
push eax
call fcn.00599920
mov edx, dword [edi + 0x24]
push eax
mov ecx, ebp
call edx
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
mov edx, dword [eax + 0x3c]
push 0
mov ecx, edi
call edx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x3c]
push 0
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 1
mov ecx, esi
call edx
mov ecx, dword [esp + 0x718]
pop edi
pop ebp
pop ebx
pop esi
xor ecx, esp
call fcn.005997a8
add esp, 0x70c
ret