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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xe4]
cmp eax, dword [ecx + 8]
jbe 0x6fd4b2a5
sub esp, 0x164
lea edi, [esp + 0x170]
xor eax, eax
call fcn.6fc62160
mov ecx, dword [esp + 0x168]
cmp byte [ecx + 0x1f], 0x7f
ja 0x6fd4b28c
mov edx, dword [esp + 0x16c]
cmp edx, 2
jb 0x6fd4b274
cmp edx, 8
ja 0x6fd4b25c
lea edi, [esp + 0x64]
call fcn.6fc62160
lea edi, [esp + 0x3c]
call fcn.6fc62196
mov ecx, dword [esp + 0x168]
xor eax, eax
jmp 0x6fd4ae1d
lea ebx, [esp + edi*8 + 0x3c]
mov dword [ebx], edx
lea ebx, [esp + edi*8 + 0x40]
mov ebp, dword [esp + 0x38]
mov dword [ebx], ebp
lea eax, [edi + 1]
mov edx, esi
cmp eax, 4
jge 0x6fd4aef5
mov ebx, eax
shl eax, 3
cmp eax, 0x20
ja 0x6fd4b252
lea ebp, [eax - 0x20]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
cmp esi, 7
jbe 0x6fd4b246
movzx ebp, byte [ecx + eax + 6]
shl ebp, 0x10
mov dword [esp + 0x38], ebp
mov esi, edx
movzx edx, byte [ecx + eax + 5]
shl edx, 8
mov dword [esp + 0x34], edx
mov edi, ebx
movzx ebx, byte [ecx + eax + 4]
mov dword [esp + 0x30], ebx
movzx ebp, byte [ecx + eax + 3]
mov dword [esp + 0x2c], ebp
shr ebp, 8
movzx edx, byte [ecx + eax + 2]
mov dword [esp + 0x28], edx
shr edx, 0x10
movzx ebx, byte [ecx + eax + 1]
mov dword [esp + 0x24], ebx
shr ebx, 0x18
or edx, ebx
or ebp, edx
mov edx, dword [esp + 0x30]
or edx, ebp
mov ebx, dword [esp + 0x34]
or edx, ebx
mov ebx, dword [esp + 0x38]
or ebx, edx
movzx edx, byte [ecx + eax + 7]
shl edx, 0x18
or edx, ebx
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x2c]
shl ebx, 0x18
mov dword [esp + 0x34], ebx
mov ebp, dword [esp + 0x28]
shl ebp, 0x10
mov edx, dword [esp + 0x24]
shl edx, 8
movzx ebx, byte [ecx + eax]
or ebx, edx
or ebp, ebx
mov edx, dword [esp + 0x34]
or edx, ebp
cmp edi, 5
jb 0x6fd4ae08
jmp 0x6fd4b23a
cmp edx, 0x20
sbb ebx, ebx
mov ecx, edx
mov ebp, 1
shl ebp, cl
and ebp, ebx
mov dword [esp + 8], ebp
mov ebx, ebp
add ebp, 0xffffffff
mov eax, ebp
lea ebp, [ecx - 0x20]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb edx, edx
mov dword [esp + 0x38], edx
cmp esi, 0x20
mov edi, ebx
sbb ebx, ebx
mov ecx, esi
mov edx, 1
shl edx, cl
and ebx, edx
mov ecx, ebp
mov edx, 1
shr edx, cl
mov ebp, dword [esp + 0x38]
and edx, ebp
or edx, ebx
mov dword [esp + 0x38], edx
mov ebx, edi
add edi, 0xffffffff
mov ebp, edx
adc edx, 0xffffffff
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x16c]
xor esi, esi
xor edi, edi
xor esi, esi
mov dword [esp + 0x14], esi
xor esi, esi
jmp 0x6fd4af84
mov ecx, ebp
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x14], edi
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 8]
cmp esi, 0x100
jae 0x6fd4b1ff
mov dword [esp + 0xc], esi
shr esi, 6
mov ebx, dword [esp + 0xc]
and ebx, 0x3f
lea ebp, [ecx - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, ebx
jbe 0x6fd4b025
cmp esi, 5
jae 0x6fd4b22e
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x34], ebp
lea edx, [ebx - 0x20]
mov dword [esp + 0x30], edx
cmp edx, 0x20
sbb ebp, ebp
mov dword [esp + 0x2c], ebp
neg edx
cmp edx, 0x20
sbb ebp, ebp
mov dword [esp + 0x28], ebp
lea ebp, [esp + esi*8 + 0x3c]
mov esi, edx
mov edx, dword [ebp + 4]
mov dword [esp + 0x24], edx
mov ebp, dword [ebp]
mov ecx, dword [esp + 0x30]
shr edx, cl
mov dword [esp + 0x30], edx
mov ecx, ebx
shr ebp, cl
mov edx, dword [esp + 0x24]
mov ebx, edx
shr edx, cl
mov ecx, esi
shl ebx, cl
mov ecx, ebx
mov ebx, dword [esp + 0x34]
and edx, ebx
and ebp, ebx
mov ebx, dword [esp + 0x28]
and ecx, ebx
or ecx, ebp
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
and ebx, ebp
or ebx, ecx
jmp 0x6fd4b153
cmp esi, 5
jae 0x6fd4b222
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x34], ebp
lea edx, [ebx - 0x20]
mov dword [esp + 0x30], edx
cmp edx, 0x20
sbb ebp, ebp
mov dword [esp + 0x2c], ebp
neg edx
mov dword [esp + 0x28], edx
cmp edx, 0x20
sbb ebp, ebp
mov dword [esp + 0x24], ebp
lea ebp, [esp + esi*8 + 0x3c]
mov edx, dword [ebp + 4]
mov dword [esp + 0x1c], edx
mov ebp, dword [ebp]
mov ecx, ebx
shr edx, cl
mov ebx, dword [esp + 0x34]
and edx, ebx
mov dword [esp + 0x34], edx
shr ebp, cl
and ebp, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
shl edx, cl
mov ecx, ebx
mov ebx, dword [esp + 0x24]
and edx, ebx
or edx, ebp
mov ebx, ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
shr ebp, cl
mov ecx, ebx
mov ebx, dword [esp + 0x2c]
and ebp, ebx
or ebp, edx
lea edx, [esi + 1]
cmp edx, 5
jae 0x6fd4b216
mov dword [esp + 0x10], edi
mov edx, ebp
lea ebp, [ecx - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x18], ebp
cmp ebp, 0x20
sbb ebx, ebx
lea ecx, [ebp - 0x20]
mov dword [esp + 0x30], ecx
cmp ecx, 0x20
sbb ebp, ebp
mov dword [esp + 0x2c], ebp
neg ecx
cmp ecx, 0x20
sbb ebp, ebp
mov dword [esp + 0x28], ebp
lea ebp, [esp + esi*8 + 0x44]
mov esi, ebp
mov ebp, dword [ebp]
mov dword [esp + 0x24], ebp
mov ebp, dword [esi + 4]
mov dword [esp + 0x1c], ebp
mov esi, ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
shl ebp, cl
mov ecx, esi
mov esi, ebp
mov ebp, dword [esp + 0x24]
shr ebp, cl
mov dword [esp + 0x30], ebp
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
shl ebp, cl
and ebp, ebx
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
and ebp, edi
mov edi, dword [esp + 0x1c]
or ebp, edi
mov edi, ebp
mov ebp, dword [esp + 0x2c]
and ebp, esi
or ebp, edi
mov esi, ebp
mov ebp, dword [esp + 0x34]
or ebp, esi
mov esi, ebp
mov ebp, dword [esp + 0x24]
shl ebp, cl
and ebx, ebp
or ebx, edx
mov edi, dword [esp + 0x10]
mov edx, esi
and ebx, eax
mov ebp, edi
add edi, ebx
mov ecx, ebx
mov ebx, dword [esp + 0x20]
and edx, ebx
add ecx, ebp
mov ecx, ebx
mov ebx, dword [esp + 0x14]
adc edx, ebx
test edi, 1
sete bl
and ebx, 1
test bl, bl
je 0x6fd4b198
mov edx, dword [esp + 0xc]
inc edx
mov ebx, edx
mov esi, ebp
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 8]
mov ebp, dword [esp + 0x16c]
jmp 0x6fd4af6e
mov ebx, dword [esp + 0x38]
mov ebp, ebx
shr ebx, 1
cmp ebx, edx
seta dl
sete bl
mov esi, edx
mov edx, dword [esp + 8]
shr edx, 1
shl ebp, 0x1f
or ebp, edx
cmp edi, ebp
setb dl
and ebx, edx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x6fd4b1d8
mov edx, dword [esp + 0xc]
xchg edi, eax
mov byte [esp + edx + 0x64], al
xchg edi, eax
mov ebx, edx
xor ebp, ebp
mov edx, dword [esp + 8]
jmp 0x6fd4b1ed
mov edx, dword [esp + 8]
sub edi, edx
mov ebx, dword [esp + 0xc]
xchg edi, eax
mov byte [esp + ebx + 0x64], al
xchg edi, eax
mov ebp, 1
mov esi, ebp
mov ebp, dword [esp + 0x16c]
add ebx, ebp
xor edi, edi
jmp 0x6fd4af6e
lea edi, [esp + 0x170]
lea esi, [esp + 0x64]
call fcn.6fc62430
add esp, 0x164
ret
mov eax, edx
mov ecx, 5
call fcn.6fc61f90
mov eax, esi
mov ecx, 5
call fcn.6fc61f90
mov eax, esi
mov ecx, 5
call fcn.6fc61f90
mov eax, edi
mov ecx, 5
call fcn.6fc61f80
mov eax, 7
mov ecx, esi
call fcn.6fc61f80
mov ecx, 0x20
call fcn.6fc61fe0
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede5ec]
mov dword [esp + 4], eax
call fcn.6fc36660
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede5e4]
mov dword [esp + 4], eax
call fcn.6fc36660
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede5dc]
mov dword [esp + 4], eax
call fcn.6fc36660
nop
call fcn.6fc60ad0
jmp fcn.6fd4ad90