Function at 0x403b30
Capabilities:
Initialize winsock library
Write file on windows

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x40a946
push eax
mov eax, 0x11b8
mov dword fs:[0], esp
call fcn.0040a120
push esi
push edi
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString
xor edi, edi
push str.GET
lea ecx, [esp + 0xc]
mov dword [esp + 0x11cc], edi
mov dword [esp + 0x14], 1
mov byte [esp + 0x13], 0
call fcn.00409e80
mov eax, dword [esp + 0x11d4]
lea ecx, [esp + 8]
push eax
call sub.MFC42.DLL_CString::operator_1
push str._HTTP_1.1_r_n
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator_1
push str.Host:
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator_1
mov esi, dword [esp + 0x11d0]
lea ecx, [esp + 8]
push esi
call sub.MFC42.DLL_CString::operator_1
push str._r_n_r_n
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CSocket::CSocket
lea ecx, [esp + 0x2c]
mov byte [esp + 0x11c8], 1
push ecx
push 0x202
call sub.WSOCK32.dll_WSAStartup
push edi
push 0x3f
push 1
push edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CAsyncSocket::Create
test eax, eax
je 0x403c2f
push 0x50
push esi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CAsyncSocket::Connect
test eax, eax
je 0x403c2f
mov edx, dword [esp + 8]
push edi
lea ecx, [esp + 0xc]
mov eax, dword [edx - 8]
push eax
push edi
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CSocket::Send
cmp eax, 0xffffffff
jne 0x403c5b
lea ecx, [esp + 0x14]
mov byte [esp + 0x11c8], 0
call fcn.00409fa6
lea ecx, [esp + 8]
mov dword [esp + 0x11c8], 0xffffffff
call fcn.00409d12
xor eax, eax
jmp 0x403da1
mov eax, dword [esp + 0x11d8]
push ebp
push edi
push 0x80
push 2
push edi
push edi
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push edi
lea ecx, [esp + 0x1c4]
push 0x1000
push ecx
lea ecx, [esp + 0x24]
mov ebp, eax
call sub.MFC42.DLL_CSocket::Receive
mov esi, eax
cmp esi, edi
je 0x403d5d
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
cmp esi, 0x2733
je 0x403d5c
mov al, byte [esp + 0x17]
mov byte [esp + esi + 0x1c4], 0
test al, al
je 0x403cd2
lea edx, [esp + 0x30]
push 0
push edx
add edi, esi
push esi
lea eax, [esp + 0x1d0]
jmp 0x403d30
lea ecx, [esp + 0x1c4]
push str.Content_Length:
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x403cfd
add eax, 0x10
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
mov dword [esp + 0x18], eax
lea edx, [esp + 0x1c4]
push str._r_n_r_n
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x403d34
sub esi, eax
lea ecx, [esp + 0x30]
push 0
push ecx
lea edi, [esp + esi + 0x1c8]
mov byte [esp + 0x1f], 1
push edi
add eax, 4
push eax
push ebp
call ebx
cmp edi, dword [esp + 0x18]
jge 0x403d5c
push 0
lea edx, [esp + 0x1c8]
push 0x1000
push edx
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CSocket::Receive
mov esi, eax
test esi, esi
jne 0x403ca3
pop ebx
test ebp, ebp
je 0x403d68
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CSocket::Close
call sub.WSOCK32.dll_WSACleanup
lea ecx, [esp + 0x18]
mov byte [esp + 0x11cc], 0
call fcn.00409fa6
lea ecx, [esp + 0xc]
mov dword [esp + 0x11cc], 0xffffffff
call fcn.00409d12
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x11c0]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x11c4
ret 0xc