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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa1c]
cmp eax, dword [ecx + 8]
jbe 0x6fd4b8a4
sub esp, 0xa9c
mov dword [esp + 0xa98], 0
mov ecx, dword [esp + 0xaa8]
mov dword [esp + 0xa98], ecx
xor eax, eax
jmp 0x6fd4b3b1
mov edx, dword [esp + 0x10c]
lea eax, [edx + 1]
mov ecx, dword [esp + 0xaa8]
cmp eax, 1
jge 0x6fd4b44f
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + eax*4 + 0xa98]
mov dword [esp + 0xa94], ecx
lea edi, [esp + 0x138]
xor eax, eax
call fcn.6fc62196
mov ecx, dword [esp + 0xa94]
test byte [ecx], al
mov dword [esp], ecx
lea ebx, [esp + 0x138]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x28
call fcn.6fc02ba0
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x6fd4b3a0
lea edi, [esp + 0x110]
xor eax, eax
call fcn.6fc62196
mov ecx, dword [esp + 0xa94]
add ecx, 0x28
mov dword [esp], ecx
lea ecx, [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.6fc02ba0
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x6fd4b3a0
jmp 0x6fd4b88b
call fcn.6fd4b310
mov eax, dword [esp]
mov dword [esp + 0xa90], eax
lea edi, [esp + 0x590]
mov ecx, 0x140
xor eax, eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x590]
mov dword [esp], ecx
mov ecx, dword [esp + 0xaa8]
mov dword [esp + 4], ecx
call fcn.6fd4b8b0
mov eax, dword [esp + 0xaa4]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.6fd4ad90
lea edi, [esp + 0x490]
lea esi, [esp + 8]
call fcn.6fc62430
mov eax, dword [esp + 0xaac]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.6fd4ad90
lea edi, [esp + 0x390]
lea esi, [esp + 8]
call fcn.6fc62430
mov eax, 0xff
jmp 0x6fd4b4de
dec eax
test eax, eax
jl 0x6fd4b505
cmp eax, 0x100
jae 0x6fd4b881
movzx edx, byte [esp + eax + 0x490]
test dl, dl
jne 0x6fd4b505
movzx edx, byte [esp + eax + 0x390]
test dl, dl
je 0x6fd4b4dd
lea edi, [esp + 0x2f0]
xor eax, eax
call fcn.6fc62178
lea edi, [esp + 0x1d8]
call fcn.6fc62182
lea edi, [esp + 0x250]
call fcn.6fc62178
lea edi, [esp + 0x160]
call fcn.6fc62182
mov esi, dword [0x6fe30470]
nop
lea edi, [esp + 0x160]
call fcn.6fc6264c
mov esi, dword [0x6fe30474]
nop
lea edi, [esp + 0x188]
call fcn.6fc6264c
mov esi, dword [0x6fe30474]
nop
lea edi, [esp + 0x1b0]
call fcn.6fc6264c
mov eax, 0xff
jmp 0x6fd4b599
lea eax, [esp + 0x160]
mov dword [esp], eax
lea ecx, [esp + 0x250]
mov dword [esp + 4], ecx
call fcn.6fd45f30
mov eax, dword [esp + 0x108]
dec eax
test eax, eax
jl 0x6fd4b818
mov dword [esp + 0x108], eax
lea eax, [esp + 0x250]
mov dword [esp], eax
lea ecx, [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.6fd46d00
mov eax, dword [esp + 0x108]
cmp eax, 0x100
jae 0x6fd4b877
movzx ecx, byte [esp + eax + 0x490]
test cl, cl
jg 0x6fd4b674
jge 0x6fd4b6f7
mov eax, dword [esp + 0xaa0]
mov dword [esp], eax
lea ecx, [esp + 0x250]
mov dword [esp + 4], ecx
call fcn.6fd45fd0
mov eax, dword [esp + 0x108]
movzx ecx, byte [esp + eax + 0x490]
mov edx, ecx
neg ecx
shr cl, 7
sub ecx, edx
sar cl, 1
movsx ecx, cl
cmp ecx, 8
jae 0x6fd4b86b
lea eax, [ecx + ecx*4]
shl eax, 5
lea esi, [esp + eax + 0x590]
lea edi, [esp + 0x2f0]
call fcn.6fc62520
lea eax, [esp + 0x250]
mov dword [esp], eax
mov ecx, dword [esp + 0xaa0]
mov dword [esp + 4], ecx
lea edx, [esp + 0x2f0]
mov dword [esp + 8], edx
call fcn.6fd466e0
mov eax, dword [esp + 0x108]
jmp 0x6fd4b6f7
mov eax, dword [esp + 0xaa0]
mov dword [esp], eax
lea ecx, [esp + 0x250]
mov dword [esp + 4], ecx
call fcn.6fd45fd0
mov eax, dword [esp + 0x108]
movzx ecx, byte [esp + eax + 0x490]
mov edx, ecx
shr cl, 7
add ecx, edx
sar cl, 1
movsx ecx, cl
cmp ecx, 8
jae 0x6fd4b85f
lea eax, [ecx + ecx*4]
shl eax, 5
lea esi, [esp + eax + 0x590]
lea edi, [esp + 0x2f0]
call fcn.6fc62520
lea eax, [esp + 0x250]
mov dword [esp], eax
mov ecx, dword [esp + 0xaa0]
mov dword [esp + 4], ecx
lea edx, [esp + 0x2f0]
mov dword [esp + 8], edx
call fcn.6fd464c0
mov eax, dword [esp + 0x108]
movzx ecx, byte [esp + eax + 0x390]
test cl, cl
jg 0x6fd4b799
jge 0x6fd4b577
mov eax, dword [esp + 0xaa0]
mov dword [esp], eax
lea ecx, [esp + 0x250]
mov dword [esp + 4], ecx
call fcn.6fd45fd0
mov eax, dword [esp + 0xa90]
test byte [eax], al
mov ecx, dword [esp + 0x108]
movzx edx, byte [esp + ecx + 0x390]
mov ebx, edx
neg edx
shr dl, 7
sub edx, ebx
sar dl, 1
movsx edx, dl
cmp edx, 0x40
jae 0x6fd4b853
imul ecx, edx, 0x78
lea esi, [ecx + eax]
lea edi, [esp + 0x1d8]
call fcn.6fc62584
lea ecx, [esp + 0x250]
mov dword [esp], ecx
mov edx, dword [esp + 0xaa0]
mov dword [esp + 4], edx
lea ebx, [esp + 0x1d8]
mov dword [esp + 8], ebx
call fcn.6fd46b00
mov eax, dword [esp + 0x108]
jmp 0x6fd4b577
mov eax, dword [esp + 0xaa0]
mov dword [esp], eax
lea ecx, [esp + 0x250]
mov dword [esp + 4], ecx
call fcn.6fd45fd0
mov eax, dword [esp + 0xa90]
test byte [eax], al
mov ecx, dword [esp + 0x108]
movzx edx, byte [esp + ecx + 0x390]
mov ebx, edx
shr dl, 7
add edx, ebx
sar dl, 1
movsx edx, dl
cmp edx, 0x40
jae 0x6fd4b847
imul ecx, edx, 0x78
lea esi, [ecx + eax]
lea edi, [esp + 0x1d8]
call fcn.6fc62584
lea ecx, [esp + 0x250]
mov dword [esp], ecx
mov edx, dword [esp + 0xaa0]
mov dword [esp + 4], edx
lea ebx, [esp + 0x1d8]
mov dword [esp + 8], ebx
call fcn.6fd46900
jmp 0x6fd4b577
mov eax, dword [esp + 0xaa0]
mov dword [esp], eax
lea ecx, [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.6fd46090
mov eax, dword [esp + 0xaa0]
mov dword [esp + 0xab0], eax
add esp, 0xa9c
ret
mov eax, edx
mov ecx, 0x40
call fcn.6fc61f80
mov eax, edx
mov ecx, 0x40
call fcn.6fc61f80
mov eax, ecx
mov ecx, 8
call fcn.6fc61f80
mov eax, ecx
mov ecx, 8
call fcn.6fc61f80
mov ecx, 0x100
call fcn.6fc61f80
mov ecx, 0x100
call fcn.6fc61f80
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede5d4]
mov dword [esp + 4], eax
call fcn.6fc36660
nop
call fcn.6fc60ad0
jmp fcn.6fd4b360