Function at 0x541044
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd70
xor ecx, ecx
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x284], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00406f78
mov eax, dword [ebp - 8]
call fcn.00406f78
xor eax, eax
push ebp
push 0x5412c4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5514a4]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.004bd7c8
mov byte [ebp - 9], 1
xor eax, eax
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov dl, 1
mov eax, dword [0x53c0f4]
call fcn.004e8544
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
call fcn.0053f4c4
add eax, 0xa0
mov edx, 0x5412e0
call fcn.00407254
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x140], 1
mov eax, 0x2000
call fcn.004043d8
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x284]
mov eax, dword [ebp - 8]
call fcn.0041d688
mov eax, dword [ebp - 0x284]
mov dl, 1
call fcn.0041d43c
test al, al
jne 0x54111b
lea edx, [ebp - 0x288]
mov eax, dword [ebp - 8]
call fcn.0041d688
mov eax, dword [ebp - 0x288]
call fcn.0041d508
mov edx, dword [ebp - 8]
lea eax, [ebp - 0x280]
call fcn.00404b30
mov edx, 1
lea eax, [ebp - 0x280]
call fcn.00404e9c
call fcn.00404554
push 0
push 0
push 0
push 0
push 0
call sub.wininet.dll_InternetOpenW
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x54126d
push 0
push 0x80000000
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.00407854
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_InternetOpenUrlW
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
call fcn.0053ca64
mov eax, dword [ebp - 0x30]
call fcn.0053f4b8
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x14], 0
je 0x54122f
lea eax, [ebp - 0x20]
push eax
push 0x2000
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.wininet.dll_InternetReadFile
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x15], al
lea eax, [ebp - 0x24]
push eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x280]
call fcn.00404c80
call fcn.00404554
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
add dword [0x557680], eax
mov eax, dword [0x55767c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [0x557680]
mov eax, dword [ebp - 0x28]
call fcn.00540fe0
mov eax, dword [0x5510d4]
mov eax, dword [eax]
call fcn.004c01ec
cmp dword [ebp - 0x20], 0
jne 0x54119d
cmp byte [ebp - 0x15], 0
je 0x54119d
mov eax, dword [ebp - 0x14]
push eax
call sub.wininet.dll_InternetCloseHandle
lea eax, [ebp - 0x280]
call fcn.00404ca0
call fcn.00404554
jmp 0x541262
lea eax, [ebp - 0x290]
mov edx, dword [ebp - 0x10]
call fcn.004078b4
mov ecx, dword [ebp - 0x290]
lea eax, [ebp - 0x28c]
mov edx, 0x541334
call fcn.00407aa0
mov eax, dword [ebp - 0x28c]
call fcn.004ac568
mov byte [ebp - 9], 0
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_InternetCloseHandle
jmp 0x54127b
mov eax, 0x541380
call fcn.004ac568
mov byte [ebp - 9], 0
mov eax, dword [ebp - 0x1c]
call fcn.004043f4
mov eax, dword [ebp - 0x30]
call fcn.00405428
mov eax, dword [0x5514a4]
mov eax, dword [eax]
xor edx, edx
call fcn.004bd7c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5412cb
lea eax, [ebp - 0x290]
mov edx, 4
call fcn.00406ef4
lea eax, [ebp - 8]
mov edx, 2
call fcn.00406ef4
ret