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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x18
push 0
push 0
dec ecx
jne 0x48e5dc
push ecx
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
call fcn.00404d5c
mov ebx, 0x49e5ac
mov esi, 0x49e598
xor eax, eax
push ebp
push 0x48ebf7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
call fcn.0040489c
lea eax, [ebp - 0x1c]
call fcn.0040489c
mov eax, 0x49c584
mov edx, 0x48ec10
call fcn.004048f0
mov edx, 0x48ec54
mov eax, dword [esi]
call fcn.0046b91c
push 0
push 1
xor ecx, ecx
mov edx, dword [0x49c584]
mov eax, dword [esi]
call fcn.0046ad2c
test eax, eax
jne 0x48e661
mov eax, dword [0x49c624]
mov eax, dword [eax]
mov edx, dword [0x49cb1c]
mov dword [edx], eax
jmp 0x48eb0f
mov eax, 0x49e5b0
mov edx, dword [esi]
mov edx, dword [edx + 0x48]
call fcn.004048f0
mov edx, 0x48ecb0
mov eax, dword [0x49e5b0]
call fcn.0045e97c
mov eax, 0x49c584
mov edx, 0x48ecc0
call fcn.004048f0
mov edx, 0x48ec54
mov eax, dword [esi]
call fcn.0046b91c
push 0
push 1
xor ecx, ecx
mov edx, dword [0x49c584]
mov eax, dword [esi]
call fcn.0046ad2c
test eax, eax
jne 0x48e6c5
mov eax, dword [0x49c624]
mov eax, dword [eax]
mov edx, dword [0x49cb1c]
mov dword [edx], eax
jmp 0x48eb0f
lea edx, [ebp - 0x28]
mov eax, dword [esi]
mov eax, dword [eax + 0x48]
call fcn.00406814
mov edx, dword [ebp - 0x28]
mov eax, ebx
call fcn.00404b34
mov edx, 0x48ecfc
mov eax, dword [ebx]
call fcn.0045e97c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x48ed14
mov edx, 0x48ed20
mov eax, dword [ebx]
call fcn.0045a9a4
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.004048f0
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x48ed30
mov edx, 0x48ed40
mov eax, dword [ebx]
call fcn.0045a9a4
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.004048f0
mov edx, 0x28
mov al, 2
call fcn.00495c98
mov edx, 0x48ed48
mov eax, dword [0x49e5b4]
call fcn.004736d4
lea ecx, [ebp - 0x34]
mov edx, 0xcb
mov eax, dword [0x49e5b4]
call fcn.0047086c
mov edx, dword [ebp - 0x34]
lea eax, [ebp - 0x20]
mov ecx, 0x48ed60
call fcn.0040646c
lea eax, [ebp - 0x10]
push eax
xor eax, eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
mov cx, 0xc
mov edx, 1
call fcn.004155d0
push 0
push 1
push 0x48ed78
push dword [0x49e5b0]
push 0x48edd4
push 0x48ede0
push dword [ebx]
push 0x48edd4
push 0x48ee30
push 0x48ee44
push 0x48ee64
push 0x48eea8
push 0x48eefc
push 0x48ef0c
push 0x48ef1c
lea eax, [ebp - 0x50]
mov edx, 0xd
call fcn.00404c2c
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
call fcn.00414fa0
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0041577c
add esp, 0x10
mov edx, 0x2d
mov al, 2
call fcn.00495c98
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0xec]
call fcn.00406538
push 0x48ef2c
push dword [0x49e5a8]
push 0x48ef44
push 0x48ef50
push 0x48ef78
push 0x48ef94
push 0x48efc0
push 0x48efe8
push 0x48f010
push 0x48f048
push 0x48f058
push 0x48f08c
push 0x48f0b0
push 0x48f0ec
push 0x48f118
push 0x48f134
push 0x48f154
push 0x48f168
push 0x48f194
push 0x48f1d8
push 0x48f21c
push 0x48f230
push 0x48f23c
lea eax, [ebp - 0x18]
mov edx, 0x17
call fcn.00404c2c
mov eax, dword [0x49c848]
mov eax, dword [eax + 8]
call fcn.00404b6c
mov ebx, eax
test ebx, ebx
jle 0x48e8e1
mov esi, 1
push dword [ebp - 0x18]
push 0x48f260
push esi
push 1
lea eax, [ebp - 0x54]
push eax
mov ecx, 0x48f2a0
mov edx, 0x48f2a0
mov eax, dword [ebp - 0x14]
call fcn.0045ad98
push dword [ebp - 0x54]
push 0x48f2ac
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00404c2c
inc esi
dec ebx
jne 0x48e8a7
push dword [ebp - 0x18]
push 0x48f2b8
push 0x48f2f4
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404c2c
mov edx, 0x48f334
mov eax, dword [ebp - 0x18]
call fcn.0045e97c
lea eax, [ebp - 0x64]
call fcn.00410acc
push eax
push 0x48f344
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0x18]
call fcn.00405110
mov eax, dword [ebp - 0x68]
push eax
lea eax, [ebp - 0x6c]
call fcn.00406428
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x1b0]
call fcn.00406538
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [eax]
call dword [eax + 0x110]
call fcn.00406538
lea eax, [ebp - 0x70]
call fcn.00406428
push eax
lea eax, [ebp - 0x80]
xor edx, edx
mov cl, 1
call fcn.00414da8
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
lea eax, [ebp - 0x90]
mov edx, 0x48f364
call fcn.0041505c
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
lea eax, [ebp - 0x94]
call fcn.00406428
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.00406538
mov eax, dword [ebp - 0x94]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.00406538
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x24]
mov ecx, 0x48f36c
call fcn.0040646c
lea eax, [ebp - 0x98]
call fcn.00404fb4
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
call fcn.00406538
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 0x1c]
call fcn.00404b34
cmp dword [0x49e5b8], 0
jne 0x48eacc
lea eax, [ebp - 0x9c]
call fcn.00406428
push eax
lea eax, [ebp - 0xac]
xor edx, edx
mov cl, 1
call fcn.00414da8
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
lea eax, [ebp - 0xbc]
mov edx, 0x48f384
call fcn.0041505c
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
lea eax, [ebp - 0xc0]
call fcn.00406428
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.00406538
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.00406538
mov edx, dword [ebp - 0x9c]
lea eax, [ebp - 0x24]
mov ecx, 0x48f36c
call fcn.0040646c
lea eax, [ebp - 0xc4]
call fcn.00404fb4
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
call fcn.00406538
mov edx, dword [ebp - 0xc4]
mov eax, 0x49e5b8
call fcn.00404b34
cmp dword [ebp - 0x1c], 0
setne al
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x38], 1
lea edx, [ebp - 0x3c]
mov eax, dword [0x49c8b0]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00495ce0
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0xf8]
call fcn.00406538
call fcn.00495dac
test al, al
jne 0x48eb0f
mov eax, edi
mov edx, dword [ebp - 0x1c]
call fcn.004048f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48ec01
lea eax, [ebp - 0xc4]
call fcn.00404fb4
lea eax, [ebp - 0xc0]
call fcn.00406428
lea eax, [ebp - 0xbc]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.004053d4
lea eax, [ebp - 0x9c]
call fcn.00406428
lea eax, [ebp - 0x98]
call fcn.00404fb4
lea eax, [ebp - 0x94]
call fcn.00406428
lea eax, [ebp - 0x90]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.004053d4
lea eax, [ebp - 0x70]
call fcn.00406428
lea eax, [ebp - 0x6c]
call fcn.00406428
lea eax, [ebp - 0x68]
call fcn.00404fb4
lea eax, [ebp - 0x64]
call fcn.00410acc
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.004048c0
lea eax, [ebp - 0x4c]
call fcn.00410acc
lea eax, [ebp - 0x34]
call fcn.00406428
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004048c0
lea eax, [ebp - 0x28]
call fcn.00404fb4
lea eax, [ebp - 0x24]
call fcn.00406428
lea eax, [ebp - 0x20]
call fcn.00406428
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004048c0
lea eax, [ebp - 0x10]
call fcn.00410acc
ret