Function at 0x5bf0fc
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 0x5bf105
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.005051cc
xor eax, eax
push ebp
push 0x5bfacc
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [ebp - 0x1010]
add eax, 0x38
call fcn.00504d0c
mov eax, dword [ebp - 0x1010]
xor edx, edx
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x1010]
add eax, 0x34
call fcn.00504d0c
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.005bea10
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 8]
mov eax, 0x5bfae8
call fcn.00505320
mov esi, eax
test esi, esi
jne 0x5bf1c4
lea eax, [ebp - 0x1024]
mov edx, dword [ebp - 0x1010]
mov edx, dword [edx + 8]
call fcn.00504da4
jmp 0x5bf1fe
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.0050523c
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.0050523c
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x1c], 0
je 0x5bf22b
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x1c]
call fcn.005051dc
push eax
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 8], eax
jmp 0x5bf23d
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 0x5bfa82
push 0x5bedbc
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetSetStatusCallback
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x5bf2d4
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.005051dc
push eax
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x10]
call fcn.005051dc
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.005051dc
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 0x5bf330
push ebp
call fcn.005bf050
pop ecx
jmp 0x5bfa82
mov bl, 1
cmp byte [ebp + 0xc], 0
je 0x5bf33f
mov edi, 0x5bfaec
jmp 0x5bf344
mov edi, 0x5bfaf0
xor esi, esi
mov eax, dword [ebp - 0x1010]
cmp byte [eax + 0xe], 0
jne 0x5bf357
mov esi, 0x80000000
mov eax, dword [ebp - 0x1010]
cmp byte [eax + 0x30], 0
jne 0x5bf369
or esi, 0x80000
cmp byte [ebp - 0x1031], 0
je 0x5bf38a
or esi, 0x80000
or esi, 0x800000
or esi, 0x1000
or esi, 0x2000
push 2
lea eax, [ebp - 0x101c]
mov ecx, 1
mov edx, dword [0x5bf030]
call fcn.0050616c
add esp, 4
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x18]
call fcn.005051dc
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 0x5bf441
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.005051dc
push eax
push 0x5bfaf8
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 8]
call fcn.005051dc
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 0x5bf41d
push ebp
call fcn.005bf050
pop ecx
jmp 0x5bfa82
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1010]
call fcn.005bede0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpSendRequestA
jmp 0x5bf4d7
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.005051dc
push eax
push 0x5bfaf8
mov eax, dword [ebp - 0x1024]
call fcn.005051dc
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 0x5bf48f
push ebp
call fcn.005bf050
pop ecx
jmp 0x5bfa82
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1010]
call fcn.005bede0
push 0xa0000000
push 0x2f
push 0x5bfb04
mov eax, dword [ebp - 4]
push eax
call sub.wininet.dll_HttpAddRequestHeadersA
mov eax, dword [ebp - 0x1028]
call fcn.00504fdc
push eax
mov eax, dword [ebp - 0x1028]
call fcn.005051dc
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.005bf094
pop ecx
test al, al
jne 0x5bf4f5
push ebp
call fcn.005bf050
pop ecx
jmp 0x5bfa82
lea edx, [ebp - 0x103c]
lea eax, [ebp - 0x100c]
call fcn.0050a92c
mov eax, dword [ebp - 0x103c]
xor edx, edx
call fcn.00509b10
cmp eax, 0xc8
je 0x5bf52d
cmp eax, 0xce
je 0x5bf52d
push ebp
call fcn.005bf050
pop ecx
jmp 0x5bfa82
mov bl, 3
cmp byte [ebp + 8], 0
je 0x5bf541
push ebp
call fcn.005bf050
pop ecx
jmp 0x5bfa82
push ebp
mov eax, 0xb
call fcn.005bf094
pop ecx
test al, al
je 0x5bf565
mov eax, dword [ebp - 0x1010]
add eax, 0x40
lea edx, [ebp - 0x100c]
call fcn.00504f14
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.005bf094
pop ecx
test al, al
je 0x5bf6b1
lea eax, [ebp - 0x1040]
lea edx, [ebp - 0x100c]
call fcn.00504f14
mov eax, dword [ebp - 0x1040]
lea edx, [ebp - 0x1020]
call fcn.005094d4
mov edx, dword [ebp - 0x1020]
mov eax, 0x5bfb3c
call fcn.00505320
dec eax
jne 0x5bf678
lea eax, [ebp - 0x1020]
push eax
mov ecx, 0x7fffffff
mov edx, 7
mov eax, dword [ebp - 0x1020]
call fcn.0050523c
mov edx, dword [ebp - 0x1020]
mov eax, 0x5bfb4c
call fcn.00505320
mov esi, eax
test esi, esi
jle 0x5bf632
lea eax, [ebp - 0x1044]
push eax
mov ecx, esi
dec ecx
xor edx, edx
mov eax, dword [ebp - 0x1020]
call fcn.0050523c
mov eax, dword [ebp - 0x1044]
xor edx, edx
call fcn.00509b10
mov edx, dword [ebp - 0x1010]
mov dword [edx + 0x48], eax
mov edx, dword [ebp - 0x1020]
mov eax, 0x5bfb58
call fcn.00505320
mov esi, eax
test esi, esi
jle 0x5bf678
lea eax, [ebp - 0x1048]
push eax
lea edx, [esi + 1]
mov ecx, 0x7fffffff
mov eax, dword [ebp - 0x1020]
call fcn.0050523c
mov eax, dword [ebp - 0x1048]
xor edx, edx
call fcn.00509b10
mov edx, dword [ebp - 0x1010]
mov dword [edx + 0x3c], eax
push ebp
mov eax, 5
call fcn.005bf094
pop ecx
test al, al
je 0x5bf6f3
lea edx, [ebp - 0x104c]
lea eax, [ebp - 0x100c]
call fcn.0050a92c
mov eax, dword [ebp - 0x104c]
xor edx, edx
call fcn.00509b10
mov edx, dword [ebp - 0x1010]
mov dword [edx + 0x44], eax
jmp 0x5bf6f3
push ebp
mov eax, 5
call fcn.005bf094
pop ecx
test al, al
je 0x5bf6f3
lea edx, [ebp - 0x1050]
lea eax, [ebp - 0x100c]
call fcn.0050a92c
mov eax, dword [ebp - 0x1050]
xor edx, edx
call fcn.00509b10
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.005bf094
pop ecx
test al, al
je 0x5bf7af
lea edx, [ebp - 0x1058]
lea eax, [ebp - 0x100c]
call fcn.0050a92c
mov eax, dword [ebp - 0x1058]
lea edx, [ebp - 0x1054]
call fcn.005094d4
mov edx, dword [ebp - 0x1054]
mov eax, dword [ebp - 0x1010]
add eax, 0x38
call fcn.00504d60
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x38]
mov eax, 0x5bfb64
call fcn.00505320
mov esi, eax
test esi, esi
je 0x5bf7af
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.0050523c
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x38]
mov eax, 0x5bfb78
call fcn.00505320
mov esi, eax
test esi, esi
jle 0x5bf7af
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.0050523c
mov eax, dword [ebp - 0x1010]
cmp byte [eax + 0x54], 0
je 0x5bf993
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 0x5bf7df
cmp eax, dword [esp]
pop edx
pop eax
je 0x5bf7ef
push ebp
call fcn.005bf050
pop ecx
jmp 0x5bfa82
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x48], 0
jbe 0x5bf8b0
mov dl, 1
mov eax, dword [0x5195b0]
call fcn.00503e50
mov dword [ebp - 0x1038], eax
xor eax, eax
push ebp
push 0x5bf8a9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x60]
call fcn.00509ffc
test al, al
je 0x5bf845
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 0x5bf87f
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.005095c8
test al, al
jne 0x5bf890
push ebp
call fcn.005bf050
pop ecx
call fcn.0050470c
jmp 0x5bfa82
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5bf8b0
mov eax, dword [ebp - 0x1038]
call fcn.00503e80
ret
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x48], 0
jne 0x5bf993
mov dl, 1
mov eax, dword [0x5195b0]
call fcn.00503e50
mov dword [ebp - 0x1038], eax
xor eax, eax
push ebp
push 0x5bf98c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1010]
mov eax, dword [eax + 0x60]
call fcn.00509ffc
test al, al
je 0x5bf906
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 0x5bf940
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.005095c8
test al, al
jne 0x5bf973
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 0x5bf993
mov eax, dword [ebp - 0x1038]
call fcn.00503e80
ret
mov eax, dword [ebp - 0x1010]
cmp word [eax + 0x6a], 0
je 0x5bf9cd
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 0x5bfa6c
cmp dword [ebp - 0x1030], 0
je 0x5bfa6c
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 0x5bfa5f
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 0x5bf9d4
cmp byte [ebp - 0x1029], 0
je 0x5bfa79
mov bl, 4
jmp 0x5bfa7b
mov bl, 5
push ebp
call fcn.005bf050
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5bfad3
lea eax, [ebp - 0x1060]
mov edx, 0xa
call fcn.00504d30
lea eax, [ebp - 0x1028]
mov edx, 3
call fcn.00504d30
lea eax, [ebp - 0x101c]
mov edx, dword [0x5bf030]
call fcn.00506278
lea eax, [ebp - 0x1014]
call fcn.00504d0c
ret