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

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.004052c8
xor eax, eax
push ebp
push 0x520303
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x5202a8
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x436930]
call fcn.00437694
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], ebx
mov eax, ebx
mov edx, 0x1f4
call fcn.0043782c
mov eax, dword [ebp - 4]
push eax
push 0x51ea78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
call fcn.0043783c
mov eax, dword [ebp - 4]
mov dword [eax + 0xb4], 0xa
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4f492c]
call fcn.004f5b58
mov edx, dword [ebp - 4]
mov dword [edx + 0x154], eax
mov dl, 1
mov eax, dword [0x41a5ac]
call fcn.00403f4c
mov edx, dword [ebp - 4]
mov ebx, dword [edx + 0x154]
mov dword [ebx + 0x188], eax
lea eax, [ebx + 0x170]
mov edx, 0x52031c
call fcn.00404e5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0x174
call fcn.00404e08
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x154]
mov eax, dword [ebp - 4]
mov dword [ebx + 0x32c], eax
mov dword [ebx + 0x328], 0x512820
mov byte [ebx + 0x128], 1
lea eax, [ebx + 0x114]
mov edx, 0x520328
call fcn.00404e5c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xec]
call fcn.00409ec8
cmp dword [ebp - 0x10], 0
jne 0x5200d2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0x110
mov edx, 0x520334
call fcn.00404e5c
jmp 0x5200ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0x110
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xec]
call fcn.00404e5c
mov eax, dword [0x587a70]
mov eax, dword [eax]
mov edx, 0x520374
call fcn.004058a0
jne 0x5201e1
lea edx, [ebp - 0x14]
mov eax, dword [0x587b70]
mov eax, dword [eax]
call fcn.00409f18
mov eax, dword [ebp - 0x14]
xor edx, edx
call fcn.004058a0
je 0x5201e1
lea edx, [ebp - 0x18]
mov eax, dword [0x58774c]
mov eax, dword [eax]
call fcn.00409f18
mov eax, dword [ebp - 0x18]
xor edx, edx
call fcn.004058a0
je 0x5201e1
mov eax, dword [0x587a70]
mov eax, dword [eax]
mov edx, 0x520374
call fcn.004058a0
jne 0x5201e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0x90
mov edx, dword [0x587b70]
mov edx, dword [edx]
call fcn.004050a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0x94
mov edx, dword [0x58774c]
mov edx, dword [edx]
call fcn.004050a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0xa8
mov edx, dword [0x5878e8]
mov edx, dword [edx]
call fcn.004050a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0xac
mov edx, dword [0x587ba4]
mov edx, dword [edx]
call fcn.004050a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0x104
mov edx, dword [0x5877c8]
mov edx, dword [edx]
call fcn.004050a0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x13c], 0
je 0x520209
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0x17c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x13c]
call fcn.00404e5c
mov al, byte [0x520380]
push eax
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.00409ec8
mov eax, dword [ebp - 0x20]
mov ecx, 0x52038c
mov edx, 0x520398
call fcn.0040feec
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 8]
call fcn.00404ea0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0xec
mov edx, dword [ebp - 8]
call fcn.00404e5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
add eax, 0xfc
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xe8]
call fcn.00404e5c
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x140], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x154]
call fcn.004fc77c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
xor edx, edx
call fcn.0043781c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
call fcn.00403f7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5202cb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52030a
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00404e2c
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0040553c
lea eax, [ebp - 0x10]
call fcn.00404e08
lea eax, [ebp - 8]
call fcn.00404e08
ret