Function at 0x411ab0
Capabilities:
Connect to http server
Create http request
Get http content length
Parse url
Read data from internet
Receive data

Disassembly:
mov eax, 0x2520
call fcn.00412110
mov edx, dword [esp + 0x2524]
push ebx
push ebp
xor ebp, ebp
cmp word [edx], bp
push esi
push edi
jne 0x411ad9
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2520
ret
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x2a2]
mov word [esp + 0x2a0], bp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0xa2]
mov word [esp + 0xa0], bp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x1a2]
mov word [esp + 0x1a0], bp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x411
xor eax, eax
lea edi, [esp + 0x14ea]
mov word [esp + 0x14e8], bp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x411
xor eax, eax
lea edi, [esp + 0x4a2]
mov word [esp + 0x4a0], bp
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0xe
xor eax, eax
lea edi, [esp + 0x28]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xa0]
lea eax, [esp + 0x2a0]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x24]
mov eax, 0x80
push ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], eax
push ebp
lea eax, [esp + 0x14f0]
push ebp
push edx
mov dword [esp + 0x34], 0x3c
mov dword [esp + 0x48], 0x100
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0x824
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x411bd2
cmp dword [esp + 0x30], 3
je 0x411bdf
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2520
ret
push ebp
push ebp
push ebp
push ebp
push str.User_Agent:_Mozilla_4.0__compatible__MSIE_6.0__Windows_NT_5.1__SV1__.NET_CLR_2.0.50727__InfoPath.1_
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebx, eax
cmp ebx, ebp
mov dword [esp + 0x14], ebx
jne 0x411c05
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2520
ret
mov ecx, dword [esp + 0x3c]
push ebp
push ebp
lea edx, [esp + 0x1a8]
push 3
lea eax, [esp + 0xac]
push edx
push eax
lea edx, [esp + 0x2b4]
push ecx
push edx
push ebx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov edi, eax
cmp edi, ebp
mov dword [esp + 0x18], edi
jne 0x411c4b
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2520
ret
cmp dword [esp + 0x54], ebp
je 0x411c60
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x4a0]
push eax
push ecx
jmp 0x411c6d
lea edx, [esp + 0x4a0]
push 0x41cd28
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x4a0]
push 0x3f
push eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
test eax, eax
push ebp
je 0x411c9e
call dword [sym.imp.MSVCRT.dll_time]
add esp, 4
lea ecx, [esp + 0x60]
push eax
push 0x41cd2c
push ecx
jmp 0x411cb2
call dword [sym.imp.MSVCRT.dll_time]
add esp, 4
lea edx, [esp + 0x60]
push eax
push str._t_u
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [esp + 0x60]
lea ecx, [esp + 0x4a0]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
push ebp
push SysReAllocString
push ebp
push 0x41e8fc
lea edx, [esp + 0x4b0]
push 0x41cd44
push edx
push str.HEAD
push edi
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov esi, eax
push 0xa
push esi
call fcn.00411e70
add esp, 8
test eax, eax
jne 0x411d20
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push edi
call esi
push ebx
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2520
ret
lea eax, [esp + 0x1c]
push ebp
lea ecx, [esp + 0x14]
push eax
push ecx
push 0x20000005
push esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x30], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
jne 0x411d63
call esi
push edi
call esi
push ebx
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2520
ret
call esi
mov edx, dword [esp + 0x10]
inc edx
push edx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x411d8c
push edi
call esi
push ebx
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2520
ret
push 0
push SysReAllocString
push 0
push 0x41e900
lea eax, [esp + 0x4b0]
push str.HTTP_1.1
push eax
push 0x41cd78
push edi
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov ebx, eax
push 0xa
push ebx
call fcn.00411e70
add esp, 8
test eax, eax
jne 0x411de7
push ebx
call esi
push edi
call esi
mov ecx, dword [esp + 0x14]
push ecx
call esi
push ebp
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2520
ret
mov eax, dword [esp + 0x10]
xor edi, edi
test eax, eax
jbe 0x411e1a
lea edx, [esp + 0x20]
sub eax, edi
push edx
push eax
lea eax, [edi + ebp]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x411e45
mov eax, dword [esp + 0x20]
test eax, eax
je 0x411e1a
add edi, eax
mov eax, dword [esp + 0x10]
cmp edi, eax
jb 0x411df1
push ebx
call esi
mov eax, dword [esp + 0x18]
push eax
call esi
mov ecx, dword [esp + 0x14]
push ecx
call esi
mov edx, dword [esp + 0x2538]
mov eax, ebp
mov dword [edx], edi
mov byte [edi + ebp], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2520
ret
push ebp
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
push ebx
call esi
mov ecx, dword [esp + 0x18]
push ecx
call esi
mov edx, dword [esp + 0x14]
push edx
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2520
ret