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

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x550535
mov eax, dword [ebp - 4]
add esp, 0xffffffb0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x3054], ebx
mov dword [ebp - 0x3050], ebx
mov dword [ebp - 0x304c], ebx
mov dword [ebp - 0x3048], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], ecx
mov byte [ebp - 1], dl
mov ebx, eax
xor eax, eax
push ebp
push 0x550999
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
lea eax, [ebx + 0x10]
call fcn.00405010
xor eax, eax
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x31], 0
cmp dword [ebp + 8], 0
jne 0x5505ab
lea eax, [ebp - 0x14]
mov edx, 0x5509b4
call fcn.004050a8
jmp 0x5505b8
lea eax, [ebp - 0x14]
mov edx, 0x5509c0
call fcn.004050a8
mov eax, 0x14
call fcn.00403944
mov esi, eax
lea eax, [ebp - 0x10]
mov edx, dword [0x605028]
mov edx, dword [edx + esi*4]
call fcn.004050a8
push 0
push 0
push 0
push 0
push 0
call fcn.00428fe0
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x550966
cmp byte [ebp - 1], 0
jne 0x55061d
push 0
push 0
push 3
push 0
push 0
push 0x1bb
mov eax, dword [ebp - 8]
call fcn.004054e0
push eax
mov eax, dword [ebp - 0x18]
push eax
call fcn.00428fd8
mov dword [ebp - 0x1c], eax
jmp 0x55063e
push 0
push 0
push 3
push 0
push 0
push 0x50
mov eax, dword [ebp - 8]
call fcn.004054e0
push eax
mov eax, dword [ebp - 0x18]
push eax
call fcn.00428fd8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x550652
mov eax, dword [ebp - 0x18]
push eax
call fcn.00428fd0
jmp 0x550966
cmp byte [ebp - 1], 0
jne 0x55065f
mov esi, 0xc00000
jmp 0x550664
mov esi, 3
push 0
push esi
push 0
push 0
push 0
mov eax, dword [ebp + 0xc]
call fcn.004054e0
push eax
mov eax, dword [ebp - 0x14]
call fcn.004054e0
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00428fb8
mov edi, eax
test edi, edi
jne 0x5506a5
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00428fd0
mov eax, dword [ebp - 0x18]
push eax
call fcn.00428fd0
jmp 0x550966
xor ecx, ecx
mov dl, 1
mov eax, dword [0x41c2b8]
call fcn.00421800
mov esi, eax
mov eax, dword [ebp - 0x14]
mov edx, 0x5509c0
call fcn.0040542c
jne 0x5506d0
mov edx, 0x5509d0
mov eax, esi
call fcn.00421914
mov edx, 0x550a1c
mov eax, esi
call fcn.00421914
mov edx, 0x550a70
mov eax, esi
call fcn.00421914
mov edx, 0x550a9c
mov eax, esi
call fcn.00421914
mov edx, 0x550ac8
mov eax, esi
call fcn.00421914
push 0x550b04
push dword [ebp - 8]
push 0x550b14
lea eax, [ebp - 0x3048]
mov edx, 3
call fcn.004053a0
mov edx, dword [ebp - 0x3048]
mov eax, esi
call fcn.00421914
push 0x550b20
push dword [ebp - 8]
push 0x550b3c
push 0x550b14
lea eax, [ebp - 0x304c]
mov edx, 4
call fcn.004053a0
mov edx, dword [ebp - 0x304c]
mov eax, esi
call fcn.00421914
push 0x550b48
push dword [ebp - 0x10]
push 0x550b14
push 0x550b14
lea eax, [ebp - 0x3050]
mov edx, 4
call fcn.004053a0
mov edx, dword [ebp - 0x3050]
mov eax, esi
call fcn.00421914
push 0x20000000
mov eax, dword [esi + 4]
call fcn.004052e0
push eax
mov eax, dword [esi + 4]
call fcn.004054e0
push eax
push edi
call fcn.00428fb0
mov eax, dword [ebp + 8]
call fcn.004052e0
push eax
mov eax, dword [ebp + 8]
push eax
push 0
push 0
push edi
call fcn.00428fc8
test eax, eax
je 0x550883
mov dword [ebp - 0x2c], 0x2000
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3041]
push eax
push 0x16
push edi
call fcn.00428fc0
lea eax, [ebp - 0x30]
lea edx, [ebp - 0x3041]
mov ecx, 0x2000
call fcn.00405290
lea edx, [ebp - 0x3054]
mov eax, dword [ebp - 0x30]
call fcn.0040c074
mov edx, dword [ebp - 0x3054]
mov eax, 0x550b60
call fcn.00405624
test eax, eax
je 0x550869
mov byte [ebp - 0x31], 1
jmp 0x550869
cmp dword [ebp - 0x20], 0
je 0x550883
mov eax, dword [ebx + 0x10]
call fcn.004052e0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
mov eax, dword [ebp - 0x20]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov edx, eax
lea eax, [ebx + 0x10]
call fcn.0040566c
lea eax, [ebx + 0x10]
call fcn.00405538
mov edx, dword [ebp - 0x24]
lea edx, [eax + edx]
lea eax, [ebp - 0x1041]
mov ecx, dword [ebp - 0x20]
call fcn.0040310c
lea eax, [ebp - 0x20]
push eax
push 0x1001
lea eax, [ebp - 0x1041]
push eax
push edi
call fcn.00428ff0
test eax, eax
jne 0x55081d
mov eax, esi
call fcn.004041a4
push edi
call fcn.00428fd0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00428fd0
mov eax, dword [ebp - 0x18]
push eax
call fcn.00428fd0
cmp byte [ebp - 0x31], 0
je 0x550962
mov eax, dword [ebx + 0x10]
call fcn.004052e0
mov esi, eax
lea eax, [ebx + 0x10]
call fcn.00405538
lea eax, [eax + esi - 4]
lea edx, [ebp - 0x40]
mov ecx, 4
call fcn.0040310c
lea eax, [ebx + 0x10]
mov ecx, 0xa
mov edx, 1
call fcn.00405580
mov eax, dword [ebx + 0x10]
call fcn.004052e0
mov edx, eax
sub edx, 7
lea eax, [ebx + 0x10]
mov ecx, 8
call fcn.00405580
xor eax, eax
push ebp
push 0x550958
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x3c]
push eax
push 0
mov eax, dword [ebx + 0x10]
call fcn.004052e0
push eax
lea eax, [ebx + 0x10]
call fcn.00405538
lea ecx, [ebp - 0x38]
pop edx
call fcn.004d1f68
test al, al
je 0x55094e
lea eax, [ebx + 0x10]
mov edx, dword [ebp - 0x3c]
call fcn.0040566c
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
call fcn.0040310c
mov eax, dword [ebp - 0x38]
call fcn.00402eb4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x550962
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5509a0
lea eax, [ebp - 0x3054]
mov edx, 4
call fcn.00405034
lea eax, [ebp - 0x30]
call fcn.00405010
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00405034
ret