Function at 0x43a580
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d1266
mov eax, dword fs:[0]
push eax
sub esp, 0x610
mov eax, dword [0x4fe080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor edi, edi
push edi
mov dword [ebp - 0x600], eax
xor esi, esi
mov eax, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x5a4], eax
mov eax, dword [ebp + 0x10]
push edi
push edi
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x60c], esi
mov dword [ebp - 0x604], edi
mov dword [ebp - 0x5fc], 4
mov dword [ebp - 0x614], esi
mov dword [ebp - 0x608], esi
call fcn.00409200
push eax
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x618], eax
test eax, eax
je 0x43a771
push edi
push edi
push 3
push edi
push edi
push 0x50
push dword [ebp - 0x600]
push eax
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x614], eax
test eax, eax
je 0x43a771
push 1
push edi
push edi
push edi
call fcn.004091c0
push eax
push dword [ebp - 0x5a4]
push edi
push dword [ebp - 0x614]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x608], eax
test eax, eax
je 0x43a773
push edi
push edi
push edi
push edi
push eax
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x43a769
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00409140
push eax
lea eax, [ebp - 0x1a0]
push 0xc8
push eax
call fcn.0047ce7f
xorps xmm0, xmm0
lea ecx, [ebp - 0x5d0]
add esp, 0x10
movq qword [ebp - 0x5b0], xmm0
movdqu xmmword [ebp - 0x5d0], xmm0
movdqu xmmword [ebp - 0x5c0], xmm0
call fcn.004174a0
mov dword [ebp - 4], 1
call fcn.00425d90
mov ecx, eax
call fcn.00425e10
test al, al
je 0x43a741
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x5b4]
push eax
movzx eax, word [ebp - 0x5b6]
push eax
movzx eax, word [ebp - 0x5b8]
push eax
push 0x4d52f8
push 0x14
push dword [ebp - 0x5b0]
call fcn.0047b025
mov esi, dword [ebp - 0x5b0]
add esp, 0x18
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._SendRequest_error
push esi
push 0x509f20
call fcn.00402055
add esp, 8
push eax
call fcn.00402055
add esp, 8
mov ecx, eax
call fcn.0041b1f0
push eax
call fcn.004172e0
add esp, 4
xor esi, esi
push dword [ebp - 0x5b0]
mov dword [ebp - method.CTime.virtual_0], vtable.CTime.0
call fcn.0047b041
push dword [ebp - 0x5ac]
call fcn.0047b041
add esp, 8
jmp 0x43a991
mov eax, dword [ebp - 0x608]
jmp 0x43a773
xor eax, eax
push 0
lea ecx, [ebp - 0x5a4]
mov dword [ebp - 0x5a8], esi
push ecx
lea ecx, [ebp - 0x5a8]
mov dword [ebp - 0x5a4], 4
push ecx
push 0x20000013
push eax
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x43a850
xorps xmm0, xmm0
lea ecx, [ebp - 0x5f8]
movdqu xmmword [ebp - 0x5f8], xmm0
movdqu xmmword [ebp - 0x5e8], xmm0
movq qword [ebp - 0x5d8], xmm0
call fcn.004174a0
mov dword [ebp - 4], 0
call fcn.00425d90
mov ecx, eax
call fcn.00425e10
test al, al
je 0x43a822
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._queryinfo
lea ecx, [ebp - 0x5f8]
call fcn.00418390
push eax
push 0x509f20
call fcn.00402055
add esp, 8
push eax
call fcn.00402055
add esp, 8
mov ecx, eax
call fcn.0041b1f0
push eax
call fcn.004172e0
add esp, 4
push dword [ebp - 0x5d8]
mov dword [ebp - method.CTime.virtual_0], vtable.CTime.0
call fcn.0047b041
push dword [ebp - 0x5d4]
call fcn.0047b041
add esp, 8
xor eax, eax
jmp 0x43a9d4
lea eax, [ebp - 0x5fc]
xor esi, esi
push eax
push 0x400
lea eax, [ebp - 0x5a0]
push eax
push dword [ebp - 0x608]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov eax, dword [ebp - 0x5fc]
test eax, eax
je 0x43a928
add eax, edi
push eax
call fcn.004780a0
add esp, 4
mov dword [ebp - 0x600], eax
test edi, edi
je 0x43a8d2
test edi, edi
je 0x43a8c4
mov edx, dword [ebp - 0x60c]
mov esi, edi
sub edx, eax
mov ecx, eax
mov dword [ebp - 0x610], edx
mov edx, edi
mov edi, dword [ebp - 0x610]
mov al, byte [edi + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
dec edx
jne 0x43a8b2
mov edi, dword [ebp - 0x604]
push dword [ebp - 0x60c]
call fcn.0047b041
add esp, 4
mov ecx, dword [ebp - 0x5fc]
lea eax, [ecx + edi]
cmp esi, eax
jae 0x43a90a
lea edx, [ebp - 0x5a0]
sub edx, esi
jmp 0x43a8f0
mov ecx, dword [ebp - 0x600]
mov al, byte [edx + esi]
mov byte [ecx + esi], al
inc esi
mov ecx, dword [ebp - 0x5fc]
lea eax, [ecx + edi]
cmp esi, eax
jb 0x43a8f0
mov esi, dword [ebp - 0x600]
add edi, ecx
mov dword [ebp - 0x60c], esi
mov dword [ebp - 0x604], edi
test ecx, ecx
jne 0x43a850
jmp 0x43a92e
mov esi, dword [ebp - 0x60c]
test edi, edi
je 0x43a991
lea eax, [edi + 1]
push eax
mov dword [ebp - 0x600], eax
call fcn.004780a0
add esp, 4
mov dword [ebp - 0x604], eax
xor ecx, ecx
test edi, edi
je 0x43a978
mov edx, esi
mov dword [ebp - 0x610], edi
mov ecx, eax
sub edx, eax
lea esp, [esp]
mov al, byte [edx + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
dec edi
jne 0x43a960
mov eax, dword [ebp - 0x604]
mov ecx, dword [ebp - 0x610]
mov edi, dword [ebp - 0x600]
push esi
mov byte [ecx + eax], 0
call fcn.0047b041
mov esi, dword [ebp - 0x604]
add esp, 4
mov ecx, dword [ebp - 0x608]
mov eax, dword [sym.imp.WININET.dll_InternetCloseHandle]
test ecx, ecx
je 0x43a9a8
push ecx
call eax
mov eax, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x614]
test ecx, ecx
je 0x43a9b5
push ecx
call eax
mov eax, dword [ebp - 0x618]
test eax, eax
je 0x43a9c6
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x61c]
test eax, eax
je 0x43a9d2
mov dword [eax], edi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047b06c
mov esp, ebp
pop ebp
ret