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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6fc8e822
sub esp, 0x78
mov eax, dword [esp + 0x88]
lea ecx, [eax - 0xc]
cmp ecx, 4
ja 0x6fc8e63f
mov ecx, dword [esp + 0x84]
test ecx, ecx
jle 0x6fc8e5f0
lea eax, [0x6fe57000]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], ecx
call fcn.6fc09620
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x6fc8e5a2
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x80]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x10
jne 0x6fc8e553
lea eax, [0x6fe4cf60]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x7c]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x18], 0x10
call ecx
lea eax, [0x6fe653a0]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fc8e3c5
mov edx, dword [esp + 0x80]
mov dword [eax + 4], edx
jmp 0x6fc8e3d8
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x80]
call fcn.6fc61f00
mov eax, ecx
mov edx, dword [esp + 0x84]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 0xc], edx
nop
nop
mov edx, dword [esp + 0x74]
movzx ebx, byte [edx + 1]
mov dword [esp + 0x48], ebx
movzx ebp, byte [edx + 2]
mov dword [esp + 0x44], ebp
movzx esi, byte [edx + 3]
movzx edi, byte [edx + 4]
mov dword [esp + 0x40], edi
mov ecx, esi
movzx esi, byte [edx + 5]
mov dword [esp + 0x3c], esi
movzx ebp, byte [edx + 6]
mov dword [esp + 0x38], ebp
movzx ebx, byte [edx + 7]
mov dword [esp + 0x34], ebx
movzx ebx, byte [edx]
mov dword [esp + 0x30], ebx
movzx ebx, byte [edx + 9]
mov dword [esp + 0x2c], ebx
movzx ebx, byte [edx + 0xa]
mov dword [esp + 0x28], ebx
movzx ebx, byte [edx + 0xb]
mov dword [esp + 0x24], ebx
movzx ebx, byte [edx + 0xc]
mov dword [esp + 0x60], ebx
movzx ebx, byte [edx + 0xd]
mov dword [esp + 0x5c], ebx
movzx ebx, byte [edx + 0xe]
mov dword [esp + 0x58], ebx
movzx ebx, byte [edx + 0xf]
mov dword [esp + 0x54], ebx
movzx edx, byte [edx + 8]
mov dword [esp + 0x50], edx
shl edi, 0x18
shl esi, 0x10
shl ebp, 8
mov edx, dword [esp + 0x34]
or edx, ebp
or esi, edx
or edi, esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x64], edi
mov edx, dword [esp + 0x48]
shl edx, 0x10
mov ebp, dword [esp + 0x44]
shl ebp, 8
mov esi, dword [esp + 0x40]
shr esi, 8
mov edi, dword [esp + 0x3c]
shr edi, 0x10
mov ebx, dword [esp + 0x38]
shr ebx, 0x18
or ebx, edi
or ebx, esi
or ecx, ebx
or ecx, ebp
or edx, ecx
mov ebx, dword [esp + 0x30]
shl ebx, 0x18
or edx, ebx
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0x60]
mov ebp, ebx
shl ebx, 0x18
mov esi, dword [esp + 0x5c]
shl esi, 0x10
mov ecx, edx
mov edx, dword [esp + 0x58]
shl edx, 8
mov edi, dword [esp + 0x54]
or edi, edx
or esi, edi
or ebx, esi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x6c], ebx
mov edx, dword [esp + 0x2c]
shl edx, 0x10
mov esi, dword [esp + 0x28]
shl esi, 8
shr ebp, 8
mov edi, dword [esp + 0x5c]
shr edi, 0x10
mov ebx, dword [esp + 0x58]
shr ebx, 0x18
or ebx, edi
or ebx, ebp
mov ebp, dword [esp + 0x24]
or ebp, ebx
or ebp, esi
or edx, ebp
mov ebx, dword [esp + 0x50]
shl ebx, 0x18
or edx, ebx
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x34]
mov dword [eax + 0x90], ebx
mov dword [eax + 0x94], ecx
mov ebx, dword [esp + 0x48]
mov dword [eax + 0x98], ebx
mov dword [eax + 0x9c], edx
mov ecx, 2
jmp 0x6fc8e6a8
lea eax, [0x6fe587c0]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2c
lea ecx, [0x6fe8a191]
mov dword [eax], ecx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea ecx, [0x6fededfc]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x78
ret
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 8], ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ebx
add esp, 0x78
ret
lea eax, [0x6fe587c0]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x64
lea ecx, [0x6fe8ed57]
mov dword [eax], ecx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea ecx, [0x6fededfc]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x78
ret
lea eax, [0x6fe587c0]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x27
lea ecx, [0x6fe88b3f]
mov dword [eax], ecx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea ecx, [0x6fededfc]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x78
ret
shl edx, 4
mov dword [eax + edx + 0x10], edi
mov dword [eax + edx + 0x14], ebp
mov ebx, dword [esp + 0x1c]
mov dword [eax + edx + 0x18], ebx
mov dword [eax + edx + 0x1c], esi
add ecx, 2
cmp ecx, 0x10
jge 0x6fc8e7cf
mov edx, ecx
shr ecx, 0x1f
lea ebx, [edx + ecx]
mov ebp, ebx
sar ebx, 1
mov esi, edx
shl edx, 2
and edx, 0xc
mov edi, esi
sar esi, 2
and esi, 3
or esi, edx
mov edx, esi
shl esi, 1
and esi, 0xa
sar edx, 1
and edx, 5
or edx, esi
shl ebx, 2
and ebx, 0xc
sar ebp, 3
and ebp, 3
or ebp, ebx
mov ebx, ebp
shl ebp, 1
and ebp, 0xa
sar ebx, 1
and ebx, 5
or ebx, ebp
cmp ebx, 0x10
jae 0x6fc8e815
mov dword [esp + 0x4c], edi
shl ebx, 4
mov ebp, dword [eax + ebx + 0x18]
mov esi, dword [eax + ebx + 0x1c]
mov dword [esp + 0x48], esi
mov ecx, ebp
shr ebp, 1
shl esi, 0x1f
or esi, ebp
mov ebp, dword [esp + 0x48]
shr ebp, 1
mov edi, dword [eax + ebx + 0x10]
mov dword [esp + 0x48], edi
shl edi, 0x1f
or edi, ebp
mov ebx, dword [eax + ebx + 0x14]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x48]
shr ebp, 1
shl ebx, 0x1f
or ebx, ebp
mov ebp, dword [esp + 0x44]
shr ebp, 1
test ecx, 1
je 0x6fc8e758
xor ebp, 0xe1000000
cmp edx, 0x10
jae 0x6fc8e809
mov dword [esp + 0x48], edi
shl edx, 4
mov dword [eax + edx + 0x10], ebx
mov dword [eax + edx + 0x14], ebp
mov dword [eax + edx + 0x18], esi
mov dword [eax + edx + 0x1c], edi
nop
mov edx, dword [esp + 0x4c]
mov ecx, edx
inc edx
mov dword [esp + 0x20], edx
shl edx, 2
and edx, 0xc
mov edi, dword [esp + 0x20]
sar edi, 2
and edi, 3
or edi, edx
mov edx, edi
shl edi, 1
and edi, 0xa
sar edx, 1
and edx, 5
or edx, edi
mov edi, dword [esp + 0x68]
xor ebp, edi
mov edi, dword [esp + 0x64]
xor edi, ebx
mov ebx, dword [esp + 0x6c]
xor ebx, esi
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x48]
xor esi, ebx
cmp edx, 0x10
jb 0x6fc8e68e
jmp 0x6fc8e7fd
lea ecx, [0x6fedfb0c]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x78
ret
mov eax, edx
mov ecx, 0x10
call fcn.6fc61f80
mov eax, edx
mov ecx, 0x10
call fcn.6fc61f80
mov eax, ebx
mov ecx, 0x10
call fcn.6fc61f80
nop
call fcn.6fc60ad0
jmp fcn.6fc8e2c0