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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6fc522cd
sub esp, 0x48
mov edx, dword [esp + 0x50]
movzx ebx, byte [edx + 0xf]
and ebx, 0x1f
cmp bl, 0xb
jbe 0x6fc520ec
cmp bl, 0x11
jbe 0x6fc520ac
cmp bl, 0x16
je 0x6fc52107
cmp bl, 0x19
jne 0x6fc520a2
mov ebx, dword [edx + 0x28]
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
xor eax, eax
jmp 0x6fc5227d
cmp bl, 0x1a
je 0x6fc52107
jmp 0x6fc521ed
cmp bl, 0xc
je 0x6fc52107
cmp bl, 0x11
jne 0x6fc521ed
cmp dword [edx + 0x28], 1
jne 0x6fc521ed
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x4c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
call fcn.6fc52050
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x58], al
add esp, 0x48
ret
cmp bl, 6
ja 0x6fc520fe
lea ecx, [ebx - 1]
cmp cl, 4
jbe 0x6fc52107
jmp 0x6fc5225f
cmp bl, 0xa
ja 0x6fc521e8
mov ecx, dword [edx]
mov edx, dword [esp + 0x4c]
mov ebx, dword [edx + 0x18]
mov ebp, dword [0x700a74e8]
cmp ebp, ebx
jle 0x6fc521dd
mov dword [esp + 0x24], ecx
lea edi, [esp + 0x34]
xor eax, eax
call fcn.6fc6219b
mov dword [esp + 0x34], 2
mov ecx, dword [edx + 0xc]
mov eax, ebx
mov ebx, dword [esp + 0x54]
add ecx, ebx
mov dword [esp + 0x38], ecx
mov ecx, dword [edx + 0x18]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x44], ecx
mov ecx, dword [edx + 4]
lea ebx, [ecx + 1]
mov esi, ebp
mov ebp, dword [edx]
mov edi, edx
mov edx, dword [edx + 8]
cmp edx, ebx
jae 0x6fc521bc
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], esi
lea eax, [0x6fe691c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.6fc4af30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x4c]
mov dword [edi + 8], edx
mov edx, dword [0x700a7770]
test edx, edx
jne 0x6fc521ad
mov dword [edi], eax
jmp 0x6fc521b2
call fcn.6fc61f00
mov esi, dword [esp + 0x2c]
mov ebp, eax
mov eax, dword [esp + 0x30]
lea edx, [ecx + 1]
mov dword [edi + 4], edx
lea ecx, [ecx + ecx*4]
lea ecx, [ebp + ecx*4]
mov edx, edi
mov edi, ecx
mov ebx, esi
lea esi, [esp + 0x34]
call fcn.6fc6267e
inc dword [edx + 0x18]
cmp ebx, eax
setg al
mov byte [esp + 0x58], al
add esp, 0x48
ret
cmp bl, 0xb
jne 0x6fc521ed
mov dword [esp], edx
call fcn.6fc5a7b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6fe81926]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x16
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
lea eax, [0x6fe8c8c2]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x37
call fcn.6fc4e6f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.6fc09410
mov eax, dword [esp + 8]
lea ecx, [0x6fe514c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.6fc36660
cmp bl, 6
je 0x6fc521ed
jmp 0x6fc521ed
mov edi, dword [esp + 0x28]
lea eax, [edi + 1]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
cmp eax, ebx
jge 0x6fc522be
mov edi, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
cmp eax, ecx
jae 0x6fc522c7
mov dword [esp + 0x28], eax
lea ecx, [eax + eax*2]
mov edx, dword [edi + ecx*4 + 4]
mov ecx, dword [edi + ecx*4 + 8]
mov dword [esp], ebp
mov dword [esp + 4], edx
add ecx, esi
mov dword [esp + 8], ecx
call fcn.6fc52050
movzx eax, byte [esp + 0xc]
test al, al
jne 0x6fc52266
mov byte [esp + 0x58], 0
add esp, 0x48
ret
mov byte [esp + 0x58], 1
add esp, 0x48
ret
call fcn.6fc61f80
nop
call fcn.6fc60ad0
jmp fcn.6fc52050