Function at 0x489840
Capabilities:
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f80b0
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x6d6dfc]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x68], ecx
push str.___BuildFireFoxGetRequest___
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x3c]
mov eax, dword [edx + 0x18]
call eax
mov ecx, dword [ebp + 0x38]
call fcn.00428360
mov ecx, dword [ebp + 0x3c]
push ecx
mov edx, dword [ebp + 0x28]
push edx
mov eax, dword [ebp + 0x38]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
movzx edx, byte [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x68]
call fcn.004878c0
push 0x64fdc8
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00429f10
mov dword [ebp - 4], 0
cmp dword [ebp + 0x14], 0x50
je 0x4898f0
cmp dword [ebp + 0x14], 0x1bb
je 0x4898f0
push 0x3a
lea ecx, [ebp - 0x3c]
call fcn.004284b0
mov ecx, dword [ebp + 0x14]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004292c0
lea ecx, [ebp - 0x3c]
call fcn.0042c650
lea ecx, [ebp - 0x3c]
call fcn.004b6650
push eax
mov ecx, dword [ebp + 0x38]
call fcn.00429890
push 0x64fdd0
mov ecx, dword [ebp + 0x38]
call fcn.00429890
push str.User_Agent:_Mozilla_5.0__Windows_NT_5.1__rv:8.0__Gecko_20100101_Firefox_8.0_r_n
mov ecx, dword [ebp + 0x38]
call fcn.00429890
cmp dword [ebp + 0x24], 0
je 0x489935
mov edx, dword [ebp + 0x24]
push edx
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov byte [ebp - 0xd], 0
push 0
mov eax, dword [ebp + 0x3c]
push eax
lea ecx, [ebp - 0xd]
push ecx
mov edx, dword [ebp + 0x38]
push edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp - 0x68]
call fcn.004871f0
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [edx + 0x828]
or ecx, dword [eax + 0x82c]
je 0x4899c8
push str.Range:_bytes
mov ecx, dword [ebp + 0x38]
call fcn.00429890
lea ecx, [ebp - 0x64]
call fcn.0042a470
mov byte [ebp - 4], 1
lea edx, [ebp - 0x64]
push edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 0x82c]
push ecx
mov edx, dword [eax + 0x828]
push edx
call fcn.0044c090
add esp, 0xc
lea eax, [ebp - 0x64]
push eax
mov ecx, dword [ebp + 0x38]
call fcn.0042cee0
push 0x64fe38
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x64]
call fcn.0042a840
push str.Accept:_text_xml_application_xml_application_xhtmlxml_text_html_q0.9_text_plain_q0.8_image_png___q0.5_r_n
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov ecx, dword [ebp + 0x20]
add ecx, 0x7b0
call fcn.004279b0
test eax, eax
je 0x489a1a
push str.Accept_Charset:
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov ecx, dword [ebp + 0x20]
add ecx, 0x7b0
call fcn.004b6650
push eax
mov ecx, dword [ebp + 0x38]
call fcn.00429890
push 0x64fec0
mov ecx, dword [ebp + 0x38]
call fcn.00429890
jmp 0x489a27
push str.Accept_Charset:_ISO_8859_1_utf_8_q0.7__q0.7_r_n
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov ecx, dword [ebp + 0x20]
movzx edx, byte [ecx + 0x8a6]
test edx, edx
je 0x489a44
push str.Accept_Encoding:_gzip_r_n
mov ecx, dword [ebp + 0x38]
call fcn.00429890
jmp 0x489a51
push str.Accept_Encoding:__r_n
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov ecx, dword [ebp + 0x20]
add ecx, 0x7d8
call fcn.004279b0
test eax, eax
je 0x489a96
push str.Accept_Language:
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov ecx, dword [ebp + 0x20]
add ecx, 0x7d8
call fcn.004b6650
push eax
mov ecx, dword [ebp + 0x38]
call fcn.00429890
push 0x64ff38
mov ecx, dword [ebp + 0x38]
call fcn.00429890
jmp 0x489aa3
push str.Accept_Language:_en_us_en_q0.5_r_n
mov ecx, dword [ebp + 0x38]
call fcn.00429890
push str.Keep_Alive:_300_r_n
mov ecx, dword [ebp + 0x38]
call fcn.00429890
push str.Connection:_keep_alive_r_n
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov ecx, dword [ebp + 0x20]
add ecx, 0x800
call fcn.004279b0
test eax, eax
je 0x489b1b
push 0x64ff90
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov eax, dword [ebp - 0x68]
add eax, 0x5f8
push eax
mov ecx, dword [ebp + 0x38]
call fcn.0042cee0
push 0x20
mov ecx, dword [ebp + 0x38]
call fcn.004284b0
mov ecx, dword [ebp + 0x20]
add ecx, 0x800
call fcn.004b6650
push eax
mov ecx, dword [ebp + 0x38]
call fcn.00429890
push 0x64ffa0
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov ecx, dword [ebp + 0x20]
add ecx, 0x738
call fcn.004279b0
test eax, eax
je 0x489b59
push str.Referer:
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov ecx, dword [ebp + 0x20]
add ecx, 0x738
push ecx
mov ecx, dword [ebp + 0x38]
call fcn.0042cee0
push 0x64ffb0
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov edx, dword [ebp + 0x40]
push edx
mov eax, dword [ebp + 0x3c]
push eax
mov ecx, dword [ebp + 0x38]
push ecx
mov edx, dword [ebp + 0x18]
push edx
movzx eax, byte [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 0x20]
push edx
mov ecx, dword [ebp - 0x68]
call fcn.004876a0
mov eax, dword [ebp + 0x40]
push eax
mov ecx, dword [ebp + 0x3c]
push ecx
mov edx, dword [ebp + 0x38]
push edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp - 0x68]
call fcn.004874b0
mov ecx, dword [ebp + 0x40]
push ecx
mov edx, dword [ebp + 0x3c]
push edx
mov eax, dword [ebp + 0x38]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp - 0x68]
call fcn.004872e0
mov edx, dword [ebp + 0x38]
push edx
mov ecx, dword [ebp + 0x28]
add ecx, 0x100
call fcn.0042d080
push 0x64ffb4
mov ecx, dword [ebp + 0x38]
call fcn.00429890
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.0042a840
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x3c