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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
call fcn.00406e10
xor eax, eax
push ebp
push 0x54f1d0
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0054ea54
cmp al, 1
jne 0x54f1a5
xor eax, eax
push ebp
push 0x54f19b
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x529b0c]
call fcn.004df73c
mov dword [ebp - 0x14], eax
mov eax, dword [0x55ff24]
mov eax, dword [eax]
mov edx, dword [eax + 0x41c]
mov eax, dword [ebp - 0x14]
call fcn.0052cba8
mov dl, 1
mov eax, dword [ebp - 0x14]
call fcn.0052c91c
mov eax, dword [ebp - 0x14]
mov dl, byte [0x54f1e0]
mov byte [eax + 0x141], dl
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x98], 0
jne 0x54ef9c
mov edx, dword [ebp - 0x14]
mov eax, dword [0x4e27c0]
call fcn.004e46dc
mov edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x140], 1
mov eax, dword [ebp - 0x14]
mov edx, dword [0x5687ac]
mov dword [eax + 0x15c], edx
mov dword [eax + 0x158], 0x550ca8
mov eax, dword [ebp - 0x14]
call fcn.0052d128
mov byte [eax + 0xac], 1
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 0x84
mov edx, 0x54f1f0
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 0x7c
mov edx, 0x54f204
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 0x98
mov edx, 0x54f254
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 0x10
mov edx, 0x54f30c
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
mov eax, dword [eax + 0x48]
mov edx, 0x54f330
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 4
mov edx, 0x54f35c
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 0x70
mov edx, 0x54f35c
call fcn.00406e48
mov al, 1
call fcn.004c892c
call fcn.00420530
mov edx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x98]
call fcn.004e46b8
cmp byte [0x5687c8], 1
jne 0x54f101
cmp dword [0x5687b8], 0
je 0x54f101
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x14c]
mov edx, dword [0x5687b8]
call fcn.00514858
mov eax, dword [0x5687bc]
call fcn.00415af0
mov edx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x14c]
call fcn.0051483c
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x14c]
add eax, 0x14
mov edx, dword [0x5687c0]
call fcn.00406e48
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x14c]
add eax, 8
mov edx, dword [0x5687c4]
call fcn.00406e48
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x14c]
mov dl, byte [0x5687c9]
mov byte [eax + 0x18], dl
xor eax, eax
push ebp
push 0x54f15b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0xc], 0
jne 0x54f134
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 4]
call fcn.004070a8
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
call fcn.0052acb8
jmp 0x54f151
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 4]
call fcn.004070a8
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
call fcn.0052aa74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54f165
cmp byte [ebp + 0xc], 1
jne 0x54f17e
mov eax, dword [ebp + 8]
mov edx, dword [0x5687ac]
mov edx, dword [edx + 4]
call fcn.00406e48
jmp 0x54f189
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.00405030
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54f1a5
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54f1d7
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00406e40
lea eax, [ebp - 0x10]
call fcn.00406e38
lea eax, [ebp - 4]
call fcn.00406a88
ret