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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ebx
mov byte [ebp - 9], cl
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
call fcn.00406e10
xor eax, eax
push ebp
push 0x54ed4c
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0054ea54
cmp al, 1
jne 0x54ed21
xor eax, eax
push ebp
push 0x54ed17
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 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]
mov dl, byte [0x54ed5c]
mov byte [eax + 0x141], dl
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x98], 0
jne 0x54eb52
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]
call fcn.0052d128
add eax, 0x84
mov edx, 0x54ed6c
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 0x7c
mov edx, 0x54ed80
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 0x98
mov edx, 0x54edd0
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 0x10
mov edx, 0x54ee88
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
mov eax, dword [eax + 0x48]
mov edx, 0x54eeac
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 4
mov edx, 0x54eed8
call fcn.00406e48
mov eax, dword [ebp - 0x14]
call fcn.0052d128
add eax, 0x70
mov edx, 0x54eed8
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 0x54ec85
cmp dword [0x5687b8], 0
je 0x54ec85
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 0x54ecd7
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0
je 0x54ecb4
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 4]
call fcn.004070a8
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
call fcn.0052a350
jmp 0x54eccd
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 4]
call fcn.004070a8
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x10]
mov eax, dword [ebp - 0x14]
call fcn.0052b254
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54ece1
cmp byte [ebp - 9], 1
jne 0x54ecfa
mov eax, dword [ebp + 8]
mov edx, dword [0x5687ac]
mov edx, dword [edx + 4]
call fcn.00406e48
jmp 0x54ed05
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 0x54ed21
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54ed53
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00406e40
lea eax, [ebp - 0x10]
call fcn.00406e38
lea eax, [ebp - 4]
call fcn.00406a88
ret