Function at 0x414050
Capabilities:
Check http status code
Read data from internet
Receive data

Disassembly:
sub esp, 0x41c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x42c]
xor ebx, ebx
push edi
cmp esi, ebx
jne 0x414074
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x41c
ret
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x2d]
mov byte [esp + 0x2c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
lea eax, [esp + 0x20]
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
mov ebp, 0x400
push 0x13
push esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebp
call edi
test eax, eax
jne 0x4140c3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x41c
ret
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
cmp eax, 0xc8
je 0x4140e5
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x41c
ret
lea ecx, [esp + 0x20]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
push 5
push esi
mov dword [esp + 0x30], ebp
call edi
cmp eax, 1
jne 0x414116
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
mov dword [esp + 0x10], eax
mov ebx, eax
xor ebp, ebp
cmp ebx, ebp
jne 0x414121
mov ebx, 0x10000
mov edx, dword [sym.imp.MSVCP60.dll_struct_std::nothrow_t_const_std::nothrow]
push edx
push ebx
call fcn.00439630
mov esi, eax
add esp, 8
cmp esi, ebp
mov dword [esp + 0x14], esi
jne 0x414148
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x41c
ret
mov ecx, ebx
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov dword [esp + 0x28], ebp
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, ebx
lea eax, [esp + 0x24]
sub ecx, ebp
push eax
mov eax, dword [esp + 0x434]
lea edx, [esi + ebp]
push ecx
push edx
push eax
mov dword [esp + 0x34], 0
call dword [sym.imp.WININET.dll_InternetReadFile]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 1
mov dword [esp + 0x18], eax
cmp edi, edx
jne 0x4141d4
mov ecx, dword [esp + 0x24]
add ebp, ecx
test ecx, ecx
je 0x41424a
cmp ebp, dword [esp + 0x10]
je 0x41424a
cmp dword [esp + 0x43c], edx
jne 0x4141e4
lea eax, [ebp + ebp*4]
xor edx, edx
shl eax, 4
div ebx
push eax
call fcn.00414ba0
mov eax, dword [esp + 0x1c]
add esp, 4
jmp 0x4141e4
cmp eax, 0x7a
je 0x4141e4
cmp eax, 0x103
jne 0x414276
mov ecx, ebx
sub ecx, ebp
je 0x414202
test edi, edi
jne 0x414160
cmp eax, 0x7a
je 0x414202
cmp eax, 0x103
jne 0x414160
mov edx, dword [sym.imp.MSVCP60.dll_struct_std::nothrow_t_const_std::nothrow]
add ebx, ebx
push edx
push ebx
call fcn.00439630
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x41426d
mov ecx, ebp
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
push ecx
call sub.MFC42.DLL_operatordelete
mov edx, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x14], edx
mov esi, edx
jmp 0x414160
mov eax, dword [esp + 0x434]
mov ecx, dword [esp + 0x438]
pop edi
mov dword [esp + 0x24], edx
mov dword [eax], esi
mov dword [ecx], ebp
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x41c
ret
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
push esi
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x2c]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x41c
ret