Function at 0x529388
Capabilities:
Create http request
Read data from internet
Receive data
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x11
push 0
push 0
dec ecx
jne 0x529390
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405488
mov eax, dword [ebp - 8]
call fcn.00405488
xor eax, eax
push ebp
push 0x529b7e
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x529b00
push dword fs:[edx]
mov dword fs:[edx], esp
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov edi, 0x50000
lea eax, [ebp - 0x1c]
call fcn.00404fd8
lea eax, [ebp - 0x18]
mov edx, 0x529b94
call fcn.00405070
xor edx, edx
push ebp
push 0x529aef
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, edi
call fcn.00402a68
mov dword [ebp - 0xc], eax
xor edx, edx
push ebp
push 0x529ad2
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.00405498
push eax
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x529451
call fcn.00404a3c
call fcn.00404a3c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x529b39
xor edx, edx
push ebp
push 0x529ab4
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
push 0x84000000
mov eax, dword [ebp - 0x1c]
call fcn.00405298
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00405498
push eax
mov eax, dword [ebp - 4]
call fcn.00405498
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_InternetOpenUrlA
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x5294af
call fcn.00404a3c
call fcn.00404a3c
call fcn.00404a3c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x529b39
lea eax, [ebp - 0x34]
call fcn.00404fd8
mov dword [ebp - 0x3c], 1
lea eax, [ebp - 0x24]
push eax
push edi
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.wininet.dll_InternetReadFile
test eax, eax
jne 0x5294ef
mov eax, dword [0x594144]
mov eax, dword [eax + 0xd7c]
mov eax, dword [eax + 0x220]
mov edx, 0x529bdc
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov esi, dword [ebp - 0xc]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
mov edx, esi
call fcn.004051d0
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
mov edx, 1
call fcn.004054f8
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 0x34]
call fcn.004052a0
cmp dword [ebp - 0x24], 0
jne 0x5294be
mov eax, dword [ebp - 0x34]
call fcn.00405298
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
call fcn.00405498
mov esi, eax
mov eax, dword [ebp - 8]
mov edx, 0x529bf8
call fcn.004053e4
jne 0x52958f
lea eax, [ebp - 0x48]
mov edx, esi
call fcn.004051d0
mov edx, dword [ebp - 0x48]
mov eax, 0x529c08
call fcn.004055dc
mov ebx, eax
test ebx, ebx
jle 0x52957d
mov edi, ebx
lea eax, [ebx + 0xc]
sub eax, edi
jl 0x529966
inc eax
mov byte [esi + edi], 0x20
inc edi
dec eax
jne 0x529570
jmp 0x529966
cmp dword [ebp - 0x3c], 0xa
jge 0x529966
inc dword [ebp - 0x3c]
jmp 0x5294be
lea eax, [ebp - 0x4c]
mov ecx, 0x529bf8
mov edx, dword [0x5946d4]
call fcn.004052e4
mov eax, dword [ebp - 0x4c]
call fcn.0040bc10
test al, al
jne 0x5295b9
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x34]
call fcn.00405070
lea eax, [ebp - 0x50]
mov edx, esi
call fcn.004051d0
mov edx, dword [ebp - 0x50]
mov eax, 0x529c24
call fcn.004055dc
mov ebx, eax
test ebx, ebx
jg 0x529961
lea eax, [ebp - 0x2c]
call fcn.00404fd8
lea eax, [ebp - 0x54]
mov edx, esi
call fcn.004051d0
mov edx, dword [ebp - 0x54]
mov eax, 0x529c3c
call fcn.004055dc
mov ebx, eax
lea eax, [ebp - 0x58]
mov edx, esi
call fcn.004051d0
mov edx, dword [ebp - 0x58]
mov eax, 0x529c4c
call fcn.004055dc
mov edi, eax
test ebx, ebx
jle 0x52963b
test edi, edi
jle 0x52963b
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x5c]
mov edx, esi
call fcn.004051d0
mov eax, dword [ebp - 0x5c]
mov ecx, edi
sub ecx, ebx
add ecx, 8
mov edx, ebx
call fcn.004054f8
lea eax, [ebp - 0x60]
mov edx, esi
call fcn.004051d0
mov edx, dword [ebp - 0x60]
mov eax, 0x529c60
call fcn.004055dc
mov ebx, eax
lea eax, [ebp - 0x64]
mov edx, esi
call fcn.004051d0
mov edx, dword [ebp - 0x64]
mov eax, 0x529c7c
call fcn.004055dc
mov edi, eax
test ebx, ebx
jle 0x529966
test edi, edi
jle 0x529966
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x68]
mov edx, esi
call fcn.004051d0
mov eax, dword [ebp - 0x68]
mov ecx, edi
sub ecx, ebx
mov edx, ebx
call fcn.004054f8
mov edx, dword [ebp - 0x28]
mov eax, 0x529c98
call fcn.004055dc
mov ebx, eax
mov ecx, ebx
mov edx, dword [ebp - 0x28]
mov eax, 0x529cb8
call fcn.0043cfd0
mov edi, eax
test ebx, ebx
jle 0x52975b
test edi, edi
jle 0x52975b
lea eax, [ebp - 0x30]
push eax
mov esi, edi
sub esi, ebx
add esi, 0x15
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0x28]
call fcn.004054f8
mov ecx, esi
lea eax, [ebp - 0x28]
mov edx, ebx
call fcn.00405538
mov al, byte [0x529cd0]
push eax
lea eax, [ebp - 0x6c]
push eax
xor ecx, ecx
mov edx, 0x529cdc
mov eax, dword [ebp - 0x30]
call fcn.00410c50
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x30]
call fcn.00405070
mov al, byte [0x529cd0]
push eax
lea eax, [ebp - 0x70]
push eax
xor ecx, ecx
mov edx, 0x529cf8
mov eax, dword [ebp - 0x30]
call fcn.00410c50
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x30]
call fcn.00405070
mov al, byte [0x529cd0]
push eax
lea eax, [ebp - 0x74]
push eax
mov ecx, 0x529d08
mov edx, 0x529d14
mov eax, dword [ebp - 0x30]
call fcn.00410c50
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 0x30]
call fcn.00405070
mov edx, dword [ebp - 0x28]
mov eax, 0x529d24
call fcn.004055dc
mov ebx, eax
mov edx, dword [ebp - 0x28]
mov eax, 0x529d34
call fcn.004055dc
mov edi, eax
test ebx, ebx
jle 0x529792
test edi, edi
jle 0x529792
mov ecx, edi
sub ecx, ebx
add ecx, 8
lea eax, [ebp - 0x28]
mov edx, ebx
call fcn.00405538
mov edx, dword [ebp - 0x28]
mov eax, 0x529d48
call fcn.004055dc
mov ebx, eax
test ebx, ebx
jle 0x5297ec
lea esi, [ebx + 1]
mov edx, esi
lea eax, [ebp - 0x28]
mov ecx, 0x11
call fcn.00405538
mov ecx, esi
mov edx, dword [ebp - 0x28]
mov eax, 0x529d64
call fcn.0043cfd0
mov ebx, eax
lea edx, [ebp - 0x28]
mov ecx, ebx
mov eax, 0x529d70
call fcn.00405580
mov ecx, ebx
mov edx, dword [ebp - 0x28]
mov eax, 0x529d48
call fcn.0043cfd0
mov ebx, eax
test ebx, ebx
jg 0x5297a5
mov edx, dword [ebp - 0x28]
mov eax, 0x529d80
call fcn.004055dc
mov ebx, eax
mov ecx, ebx
mov edx, dword [ebp - 0x28]
mov eax, 0x529d9c
call fcn.0043cfd0
mov ebx, eax
test ebx, ebx
jle 0x529846
lea ecx, [ebx + 6]
mov edx, dword [ebp - 0x28]
mov eax, 0x529d64
call fcn.0043cfd0
mov edi, eax
mov ecx, edi
sub ecx, ebx
inc ecx
lea eax, [ebp - 0x28]
mov edx, ebx
call fcn.00405538
mov ecx, ebx
mov edx, dword [ebp - 0x28]
mov eax, 0x529d9c
call fcn.0043cfd0
mov ebx, eax
test ebx, ebx
jg 0x529810
mov edx, dword [ebp - 0x28]
mov eax, 0x529dac
call fcn.004055dc
mov ebx, eax
mov ecx, ebx
mov edx, dword [ebp - 0x28]
mov eax, 0x529dc8
call fcn.0043cfd0
mov edi, eax
test ebx, ebx
jle 0x52987f
test edi, edi
jle 0x52987f
mov ecx, edi
sub ecx, ebx
add ecx, 0x15
lea eax, [ebp - 0x28]
mov edx, ebx
call fcn.00405538
mov edx, dword [ebp - 0x28]
mov eax, 0x529de4
call fcn.004055dc
mov ebx, eax
mov ecx, ebx
mov edx, dword [ebp - 0x28]
mov eax, 0x529df8
call fcn.0043cfd0
mov edi, eax
test ebx, ebx
jle 0x5298b8
test edi, edi
jle 0x5298b8
mov ecx, edi
sub ecx, ebx
add ecx, 3
lea eax, [ebp - 0x28]
mov edx, ebx
call fcn.00405538
push 0x529e04
push dword [ebp - 0x2c]
push 0x529e2c
push 0x529e38
push 0x529e2c
push 0x529e5c
push 0x529e2c
push 0x529e8c
push 0x529e2c
push 0x529e9c
push 0x529e2c
push dword [ebp - 0x28]
push 0x529e2c
push 0x529eac
push 0x529e2c
push 0x529ebc
push 0x529e2c
push 0x529ecc
lea eax, [ebp - 0x28]
mov edx, 0x12
call fcn.00405358
mov ecx, ebx
mov edx, dword [ebp - 0x28]
mov eax, 0x529ed8
call fcn.0043cfd0
mov ebx, eax
lea eax, [ebp - 0x78]
mov ecx, dword [ebp - 0x30]
mov edx, 0x529e2c
call fcn.004052e4
mov eax, dword [ebp - 0x78]
lea ecx, [ebx + 0x12]
lea edx, [ebp - 0x28]
call fcn.00405580
mov eax, dword [ebp - 0x28]
call fcn.00405298
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
call fcn.00405498
mov esi, eax
jmp 0x529966
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jbe 0x5299cc
xor eax, eax
push ebp
push 0x5299c5
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xffff
lea eax, [ebp - 0x7c]
mov ecx, dword [ebp - 8]
mov edx, dword [0x5946d4]
call fcn.004052e4
mov ecx, dword [ebp - 0x7c]
mov dl, 1
mov eax, dword [0x41b0a0]
call fcn.0041fe04
mov dword [ebp - 0x20], eax
mov edx, esi
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
call fcn.0041fbb4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5299cc
mov eax, dword [ebp - 0x20]
call fcn.004041c4
ret
lea eax, [ebp - 0x80]
mov ecx, 0x529bf8
mov edx, dword [0x5946d4]
call fcn.004052e4
mov eax, dword [ebp - 0x80]
call fcn.0040bc10
test al, al
jne 0x529a9d
mov edx, dword [ebp - 0x38]
mov eax, 0x529ef4
call fcn.004055dc
mov ebx, eax
test ebx, ebx
jle 0x529a9d
mov ecx, ebx
mov edx, dword [ebp - 0x38]
mov eax, 0x529d9c
call fcn.0043cfd0
add eax, 6
mov ebx, eax
mov ecx, ebx
mov edx, dword [ebp - 0x38]
mov eax, 0x529d64
call fcn.0043cfd0
mov edi, eax
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
sub ecx, ebx
mov edx, ebx
mov eax, dword [ebp - 0x38]
call fcn.004054f8
mov edx, dword [ebp - 0x28]
mov eax, 0x529f10
call fcn.004055dc
mov ebx, eax
test ebx, ebx
jle 0x529a72
lea eax, [ebp - 0x28]
mov ecx, 4
mov edx, ebx
call fcn.00405538
mov edx, dword [ebp - 0x28]
mov eax, 0x529f10
call fcn.004055dc
mov ebx, eax
test ebx, ebx
jg 0x529a50
lea eax, [ebp - 0x38]
call fcn.00404fd8
lea eax, [ebp - 0x84]
mov ecx, dword [ebp - 0x28]
mov edx, 0x529f20
call fcn.004052e4
mov eax, dword [ebp - 0x84]
mov edx, 0x529bf8
call fcn.00529388
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x529abb
mov eax, dword [ebp - 0x14]
push eax
call sub.wininet.dll_InternetCloseHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x529b85
lea eax, [ebp - 0x88]
mov edx, 0x13
call fcn.00404ffc
lea eax, [ebp - 0x38]
mov edx, 5
call fcn.00404ffc
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00404ffc
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404ffc
ret