Function at 0x4bf07c
Capabilities:
Check http status code
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 ecx
mov ecx, 0x20b
push 0
push 0
dec ecx
jne 0x4bf085
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x1018], ecx
mov dword [ebp - 0x1014], edx
mov dword [ebp - 0x1010], eax
mov eax, dword [ebp - 0x1014]
call fcn.004051cc
xor eax, eax
push ebp
push 0x4bfa4c
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [ebp - 0x1010]
add eax, 0x38
call fcn.00404d0c
mov eax, dword [ebp - 0x1010]
xor edx, edx
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x1010]
add eax, 0x34
call fcn.00404d0c
mov eax, dword [ebp - 0x1010]
add eax, 8
push eax
mov eax, dword [ebp - 0x1010]
add eax, 0xc
push eax
mov eax, dword [ebp - 0x1010]
lea ecx, [eax + 4]
lea edx, [ebp - 0x1031]
mov eax, dword [ebp - 0x1014]
call fcn.004be990
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 8]
mov eax, 0x4bfa68
call fcn.00405320
mov esi, eax
test esi, esi
jne 0x4bf144
lea eax, [ebp - 0x1024]
mov edx, dword [ebp - 0x1010]
mov edx, dword [edx + 8]
call fcn.00404da4
jmp 0x4bf17e
lea eax, [ebp - 0x1024]
push eax
mov ecx, esi
dec ecx
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 8]
mov edx, 1
call fcn.0040523c
lea eax, [ebp - 0x1028]
push eax
lea edx, [esi + 1]
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 8]
mov ecx, 0x7fffffff
call fcn.0040523c
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x1c], 0
je 0x4bf1ab
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x1c]
call fcn.004051dc
push eax
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 8], eax
jmp 0x4bf1bd
push 0
push 0
push 0
push 0
push 0
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4bfa02
push 0x4bed3c
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetSetStatusCallback
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x4bf254
push 4
mov eax, dword [ebp - 0x1010]
add eax, 0x2c
push eax
push 2
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetSetOptionA
push 4
mov eax, dword [ebp - 0x1010]
add eax, 0x2c
push eax
push 6
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetSetOptionA
push 4
mov eax, dword [ebp - 0x1010]
add eax, 0x2c
push eax
push 8
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetSetOptionA
push 4
mov eax, dword [ebp - 0x1010]
add eax, 0x2c
push eax
push 5
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetSetOptionA
push 4
mov eax, dword [ebp - 0x1010]
add eax, 0x2c
push eax
push 7
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetSetOptionA
push 0
push 0
push 3
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x14]
call fcn.004051dc
push eax
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x10]
call fcn.004051dc
push eax
mov eax, dword [ebp - 0x1010]
mov ax, word [eax + 0xc]
push eax
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 4]
call fcn.004051dc
push eax
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetConnectA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bf2b0
push ebp
call fcn.004befd0
pop ecx
jmp 0x4bfa02
mov bl, 1
cmp byte [ebp + 0xc], 0
je 0x4bf2bf
mov edi, 0x4bfa6c
jmp 0x4bf2c4
mov edi, 0x4bfa70
xor esi, esi
mov eax, dword [ebp - 0x1010]
cmp byte [eax + 0xe], 0
jne 0x4bf2d7
mov esi, 0x80000000
mov eax, dword [ebp - 0x1010]
cmp byte [eax + 0x30], 0
jne 0x4bf2e9
or esi, 0x80000
cmp byte [ebp - 0x1031], 0
je 0x4bf30a
or esi, 0x80000
or esi, 0x800000
or esi, 0x1000
or esi, 0x2000
push 2
lea eax, [ebp - 0x101c]
mov ecx, 1
mov edx, dword [0x4befb0]
call fcn.0040616c
add esp, 4
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x18]
call fcn.004051dc
mov edx, dword [ebp - 0x101c]
mov dword [edx], eax
mov eax, dword [ebp - 0x101c]
xor edx, edx
mov dword [eax + 4], edx
cmp byte [ebp + 0xc], 0
je 0x4bf3c1
mov eax, dword [ebp - 0x1010]
push eax
push esi
mov eax, dword [ebp - 0x101c]
push eax
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x20]
call fcn.004051dc
push eax
push 0x4bfa78
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 8]
call fcn.004051dc
push eax
push edi
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_HttpOpenRequestA
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4bf39d
push ebp
call fcn.004befd0
pop ecx
jmp 0x4bfa02
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1010]
call fcn.004bed60
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpSendRequestA
jmp 0x4bf457
mov eax, dword [ebp - 0x1010]
push eax
push esi
mov eax, dword [ebp - 0x101c]
push eax
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x20]
call fcn.004051dc
push eax
push 0x4bfa78
mov eax, dword [ebp - 0x1024]
call fcn.004051dc
push eax
push edi
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_HttpOpenRequestA
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4bf40f
push ebp
call fcn.004befd0
pop ecx
jmp 0x4bfa02
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1010]
call fcn.004bed60
push 0xa0000000
push 0x2f
push 0x4bfa84
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpAddRequestHeadersA
mov eax, dword [ebp - 0x1028]
call fcn.00404fdc
push eax
mov eax, dword [ebp - 0x1028]
call fcn.004051dc
push eax
push 0
push 0
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpSendRequestA
mov bl, 2
push ebp
mov eax, 0x13
call fcn.004bf014
pop ecx
test al, al
jne 0x4bf475
push ebp
call fcn.004befd0
pop ecx
jmp 0x4bfa02
lea edx, [ebp - 0x103c]
lea eax, [ebp - 0x100c]
call fcn.0040a924
mov eax, dword [ebp - 0x103c]
xor edx, edx
call fcn.00409b08
cmp eax, 0xc8
je 0x4bf4ad
cmp eax, 0xce
je 0x4bf4ad
push ebp
call fcn.004befd0
pop ecx
jmp 0x4bfa02
mov bl, 3
cmp byte [ebp + 8], 0
je 0x4bf4c1
push ebp
call fcn.004befd0
pop ecx
jmp 0x4bfa02
push ebp
mov eax, 0xb
call fcn.004bf014
pop ecx
test al, al
je 0x4bf4e5
mov eax, dword [ebp - 0x1010]
add eax, 0x40
lea edx, [ebp - 0x100c]
call fcn.00404f14
mov eax, dword [ebp - 0x1010]
xor edx, edx
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x1010]
xor edx, edx
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0x1010]
xor edx, edx
mov dword [eax + 0x48], edx
push ebp
mov eax, 0x35
call fcn.004bf014
pop ecx
test al, al
je 0x4bf631
lea eax, [ebp - 0x1040]
lea edx, [ebp - 0x100c]
call fcn.00404f14
mov eax, dword [ebp - 0x1040]
lea edx, [ebp - 0x1020]
call fcn.004094cc
mov edx, dword [ebp - 0x1020]
mov eax, 0x4bfabc
call fcn.00405320
dec eax
jne 0x4bf5f8
lea eax, [ebp - 0x1020]
push eax
mov ecx, 0x7fffffff
mov edx, 7
mov eax, dword [ebp - 0x1020]
call fcn.0040523c
mov edx, dword [ebp - 0x1020]
mov eax, 0x4bfacc
call fcn.00405320
mov esi, eax
test esi, esi
jle 0x4bf5b2
lea eax, [ebp - 0x1044]
push eax
mov ecx, esi
dec ecx
xor edx, edx
mov eax, dword [ebp - 0x1020]
call fcn.0040523c
mov eax, dword [ebp - 0x1044]
xor edx, edx
call fcn.00409b08
mov edx, dword [ebp - 0x1010]
mov dword [edx + 0x48], eax
mov edx, dword [ebp - 0x1020]
mov eax, 0x4bfad8
call fcn.00405320
mov esi, eax
test esi, esi
jle 0x4bf5f8
lea eax, [ebp - 0x1048]
push eax
lea edx, [esi + 1]
mov ecx, 0x7fffffff
mov eax, dword [ebp - 0x1020]
call fcn.0040523c
mov eax, dword [ebp - 0x1048]
xor edx, edx
call fcn.00409b08
mov edx, dword [ebp - 0x1010]
mov dword [edx + 0x3c], eax
push ebp
mov eax, 5
call fcn.004bf014
pop ecx
test al, al
je 0x4bf673
lea edx, [ebp - 0x104c]
lea eax, [ebp - 0x100c]
call fcn.0040a924
mov eax, dword [ebp - 0x104c]
xor edx, edx
call fcn.00409b08
mov edx, dword [ebp - 0x1010]
mov dword [edx + 0x44], eax
jmp 0x4bf673
push ebp
mov eax, 5
call fcn.004bf014
pop ecx
test al, al
je 0x4bf673
lea edx, [ebp - 0x1050]
lea eax, [ebp - 0x100c]
call fcn.0040a924
mov eax, dword [ebp - 0x1050]
xor edx, edx
call fcn.00409b08
mov esi, eax
mov eax, dword [ebp - 0x1010]
mov dword [eax + 0x3c], esi
mov eax, dword [ebp - 0x1010]
mov dword [eax + 0x44], esi
push ebp
mov eax, 1
call fcn.004bf014
pop ecx
test al, al
je 0x4bf72f
lea edx, [ebp - 0x1058]
lea eax, [ebp - 0x100c]
call fcn.0040a924
mov eax, dword [ebp - 0x1058]
lea edx, [ebp - 0x1054]
call fcn.004094cc
mov edx, dword [ebp - 0x1054]
mov eax, dword [ebp - 0x1010]
add eax, 0x38
call fcn.00404d60
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x38]
mov eax, 0x4bfae4
call fcn.00405320
mov esi, eax
test esi, esi
je 0x4bf72f
mov eax, dword [ebp - 0x1010]
add eax, 0x38
push eax
lea edx, [esi + 8]
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x38]
mov ecx, 0x7fffffff
call fcn.0040523c
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x38]
mov eax, 0x4bfaf8
call fcn.00405320
mov esi, eax
test esi, esi
jle 0x4bf72f
mov eax, dword [ebp - 0x1010]
add eax, 0x38
push eax
mov ecx, esi
dec ecx
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x38]
mov edx, 1
call fcn.0040523c
mov eax, dword [ebp - 0x1010]
cmp byte [eax + 0x54], 0
je 0x4bf913
mov eax, dword [ebp - 0x1018]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x48]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x4bf75f
cmp eax, dword [esp]
pop edx
pop eax
je 0x4bf76f
push ebp
call fcn.004befd0
pop ecx
jmp 0x4bfa02
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x48], 0
jbe 0x4bf830
mov dl, 1
mov eax, dword [0x4195a8]
call fcn.00403e50
mov dword [ebp - 0x1038], eax
xor eax, eax
push ebp
push 0x4bf829
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x60]
call fcn.00409ff4
test al, al
je 0x4bf7c5
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x60]
mov eax, dword [ebp - 0x1038]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 0x1038]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
je 0x4bf7ff
lea ecx, [ebp - 0x105c]
xor edx, edx
mov eax, dword [ebp - 0x1038]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x105c]
mov edx, dword [ebp - 0x1010]
mov edx, dword [edx + 0x40]
call fcn.004095c0
test al, al
jne 0x4bf810
push ebp
call fcn.004befd0
pop ecx
call fcn.0040470c
jmp 0x4bfa02
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bf830
mov eax, dword [ebp - 0x1038]
call fcn.00403e80
ret
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x48], 0
jne 0x4bf913
mov dl, 1
mov eax, dword [0x4195a8]
call fcn.00403e50
mov dword [ebp - 0x1038], eax
xor eax, eax
push ebp
push 0x4bf90c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x60]
call fcn.00409ff4
test al, al
je 0x4bf886
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x60]
mov eax, dword [ebp - 0x1038]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 0x1038]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
je 0x4bf8c0
lea ecx, [ebp - 0x1060]
xor edx, edx
mov eax, dword [ebp - 0x1038]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1060]
mov edx, dword [ebp - 0x1010]
mov edx, dword [edx + 0x40]
call fcn.004095c0
test al, al
jne 0x4bf8f3
mov eax, dword [ebp - 0x1038]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x1038]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x60]
mov eax, dword [ebp - 0x1038]
mov ecx, dword [eax]
call dword [ecx + 0x74]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bf913
mov eax, dword [ebp - 0x1038]
call fcn.00403e80
ret
mov eax, dword [ebp - 0x1010]
cmp word [eax + 0x6a], 0
je 0x4bf94d
mov eax, dword [ebp - 0x1018]
mov edx, dword [eax]
call dword [edx]
push eax
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x3c]
push eax
mov ebx, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x1014]
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebx + 0x6c]
call dword [ebx + 0x68]
mov byte [ebp - 0x1029], 0
mov dword [ebp - 0x1030], 0x1000
lea eax, [ebp - 0x1030]
push eax
push 0x1000
lea eax, [ebp - 0x100c]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_InternetReadFile
test eax, eax
je 0x4bf9ec
cmp dword [ebp - 0x1030], 0
je 0x4bf9ec
lea edx, [ebp - 0x100c]
mov ecx, dword [ebp - 0x1030]
mov eax, dword [ebp - 0x1018]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 0x1010]
cmp word [eax + 0x72], 0
je 0x4bf9df
mov eax, dword [ebp - 0x1018]
mov edx, dword [eax]
call dword [edx]
push eax
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x3c]
push eax
lea eax, [ebp - 0x1029]
push eax
mov ebx, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x1014]
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebx + 0x74]
call dword [ebx + 0x70]
cmp byte [ebp - 0x1029], 0
je 0x4bf954
cmp byte [ebp - 0x1029], 0
je 0x4bf9f9
mov bl, 4
jmp 0x4bf9fb
mov bl, 5
push ebp
call fcn.004befd0
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bfa53
lea eax, [ebp - 0x1060]
mov edx, 0xa
call fcn.00404d30
lea eax, [ebp - 0x1028]
mov edx, 3
call fcn.00404d30
lea eax, [ebp - 0x101c]
mov edx, dword [0x4befb0]
call fcn.00406278
lea eax, [ebp - 0x1014]
call fcn.00404d0c
ret