Function at 0x40512a
Capabilities:
Check http status code
Create http request
Reference http user-agent string

Disassembly:
mov eax, 0x450cd3
call fcn.004508fc
sub esp, 0x414
push ebx
push esi
mov esi, 0x104
push esi
call fcn.0043b018
push esi
xor ebx, ebx
push ebx
push eax
mov dword [ebp - 0x20], eax
call fcn.004451c0
mov eax, dword [0x46d5b8]
add esp, 0x10
cmp byte [eax + 0xa477], bl
je 0x405342
lea esi, [eax + 0xa478]
cmp esi, ebx
je 0x405342
lea edx, [esi + 1]
mov cl, byte [esi]
inc esi
cmp cl, bl
jne 0x405179
sub esi, edx
je 0x405342
add eax, 0xad7c
cmp eax, ebx
je 0x405342
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x405198
sub eax, edx
je 0x405342
push edi
push ebx
push ebx
push ebx
push ebx
push str.Mozilla_5.0__Windows__U__Windows_NT_5.1__en_GB__rv:1.9.0.5__Gecko_2008120122_Firefox_3.0.5
call dword [sym.imp.WININET.dll_InternetOpenA]
mov ecx, dword [0x46d5b8]
push ebx
push 0x40300
push ebx
push ebx
add ecx, 0xa478
push ecx
push eax
mov dword [ebp - 0x14], eax
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
push 0x3ff
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x41f]
push ebx
push eax
mov byte [ebp - 0x420], bl
call fcn.004451c0
mov esi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
add esp, 0xc
push ebx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x420]
push eax
push 0x13
push dword [ebp - 0x18]
mov edi, 0x400
mov dword [ebp - 0x1c], edi
call esi
lea eax, [ebp - 0x420]
push eax
call fcn.0043b3ee
pop ecx
mov byte [ebp - 0x420], bl
mov dword [ebp - 0x1c], edi
cmp eax, 0xc8
jne 0x405299
push ebx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x420]
push eax
push 0x2f
push dword [ebp - 0x18]
call esi
test eax, eax
jne 0x40524f
mov byte [ebp - 0x420], bl
lea eax, [ebp - 0x420]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x405258
sub eax, edx
je 0x405299
lea eax, [ebp - 0x420]
push str.filename
push eax
call fcn.0043b880
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x405299
add esi, 9
push 0x455520
push esi
mov dword [ebp - 0x10], esi
call fcn.0043b880
pop ecx
pop ecx
cmp eax, ebx
je 0x405295
mov byte [eax], bl
cmp esi, ebx
jne 0x4052b7
mov eax, dword [0x46d5b8]
add eax, 0xa478
push 0x2f
push eax
call fcn.0043b4e0
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4052b7
inc dword [ebp - 0x10]
push dword [ebp - 0x18]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x14]
call esi
mov eax, dword [0x46d5b8]
mov eax, dword [eax + 0x904e]
dec eax
je 0x4052e1
dec eax
je 0x4052dc
xor edi, edi
jmp 0x4052e4
push 2
pop edi
jmp 0x4052e4
xor edi, edi
inc edi
push 0x1414
call fcn.0043b528
mov esi, eax
pop ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], ebx
cmp esi, ebx
je 0x405310
mov eax, dword [0x46d5b8]
push eax
mov eax, esi
mov dword [esi + 0x1410], edi
call fcn.00406b85
jmp 0x405312
xor esi, esi
lea eax, [esi + 0xef2]
push eax
push 0x454c5c
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push dword [ebp - 0x10]
push dword [ebp - 0x20]
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
pop edi
cmp esi, ebx
je 0x405342
push esi
call fcn.0043b4d0
pop ecx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret