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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6fc6d847
sub esp, 0x78
mov edx, dword [esp + 0x8c]
cmp edx, 0x12
jg 0x6fc6d82e
mov ebx, dword [esp + 0x84]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov edi, dword [esp + 0x80]
test edi, edi
mov eax, edx
sete dl
and edx, ebp
test dl, dl
je 0x6fc6d273
mov eax, dword [esp + 0x7c]
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
add esp, 0x78
ret
cmp ebx, 1
sete dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, 1
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6fc6d296
mov ecx, ebx
xor edx, edx
mov ebp, 0x20
jmp 0x6fc6d29e
mov ecx, ebx
mov edx, ecx
mov ebx, edi
xor ebp, ebp
mov dword [esp + 0x30], edx
mov dword [esp + 0x4c], ebp
cmp ebx, 0x10000
mov esi, edi
xchg edi, ebx
setae bl
xchg edi, ebx
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta dl
and edi, ebp
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x6fc6d2e7
shr ebx, 0x10
mov edx, dword [esp + 0x30]
mov edi, edx
shl edx, 0x10
or ebx, edx
shr edi, 0x10
mov edx, edi
mov edi, dword [esp + 0x4c]
lea ebp, [edi + 0x10]
jmp 0x6fc6d2ef
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x4c], ebp
cmp ebx, 0x100
xchg edi, ebx
setae bl
xchg edi, ebx
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta dl
and edi, ebp
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x6fc6d336
shr ebx, 8
mov edx, dword [esp + 0x30]
mov edi, edx
shl edx, 0x18
or ebx, edx
shr edi, 8
mov edx, edi
mov edi, dword [esp + 0x4c]
lea ebp, [edi + 8]
jmp 0x6fc6d33e
mov ebp, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
test edx, edx
jne 0x6fc6d820
cmp ebx, 0x100
jae 0x6fc6d814
lea edx, [0x6fe8f29b]
movzx edx, byte [edx + ebx]
lea ebx, [edx + ebp]
cmp ebx, 0x37
jge 0x6fc6d3c7
mov dword [esp + 0x4c], ebx
lea edx, [edx + ebp - 0x37]
neg edx
cmp edx, 0x20
sbb ebp, ebp
lea edi, [edx - 0x20]
mov dword [esp + 0x74], edi
cmp edi, 0x20
sbb eax, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb ebx, ebx
mov ecx, edi
mov edi, esi
shr esi, cl
mov ecx, dword [esp + 0x74]
shl edi, cl
and esi, ebx
mov ecx, edx
mov ebx, dword [esp + 0x80]
shl ebx, cl
and ebx, ebp
and eax, edi
mov edi, dword [esp + 0x84]
shl edi, cl
and edi, ebp
or edi, esi
or edi, eax
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x4c]
lea eax, [edx + eax - 0x37]
jmp 0x6fc6d3d2
mov eax, dword [esp + 0x88]
mov edi, ecx
mov ebx, esi
imul ecx, eax, 0x13441
add ecx, 0x4105b6
sar ecx, 0x12
mov edx, dword [esp + 0x8c]
sub edx, ecx
mov dword [esp + 0x70], edx
lea ecx, [edx - 1]
cmp ecx, 0x37
jg 0x6fc6d401
test ecx, ecx
xchg esi, ebx
setge bl
xchg esi, ebx
jmp 0x6fc6d403
xor esi, esi
mov dword [esp + 0x34], ecx
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.6fc6f190
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jge 0x6fc6d7fc
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x70]
lea esi, [ebp + 0x15]
cmp esi, 0x16
jae 0x6fc6d48b
mov esi, dword [esp + 0x50]
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
mov ebp, dword [esp + 0x54]
test ebp, ebp
sete dl
and edx, edi
test dl, dl
jne 0x6fc6d6fd
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x34]
neg edx
mov dword [esp + 0x3c], edx
xor edi, edi
jmp 0x6fc6d72e
movzx esi, byte [esp + 0x21]
mov dword [esp + 0x38], ecx
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov byte [esp + 0x22], al
mov edi, ecx
neg ecx
mov dword [esp + 0x6c], ecx
cmp ecx, 0x20
sbb ebp, ebp
mov dword [esp + 0x74], ebp
mov eax, 1
shl eax, cl
and eax, ebp
mov dword [esp + 0x68], eax
add eax, 0xffffffff
mov dword [esp + 0x40], eax
lea esi, [ecx - 0x20]
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb eax, eax
add edi, 0x20
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x64], edi
cmp edi, 0x20
sbb ebp, ebp
mov ecx, edi
mov edx, 1
shl edx, cl
mov ecx, esi
mov edi, 1
shr edi, cl
and edi, eax
and edx, ebp
or edx, edi
mov edi, dword [esp + 0x68]
add edi, 0xffffffff
adc edx, 0xffffffff
mov ecx, dword [esp + 0x6c]
shr ebx, cl
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x28]
shr edi, cl
mov ecx, esi
mov esi, dword [esp + 0x28]
shl esi, cl
mov ecx, edx
mov edx, dword [esp + 0x74]
and ebx, edx
and esi, eax
or esi, ebx
and edi, ebp
or edi, esi
mov dword [esp + 0x74], edi
mov eax, ecx
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x28]
mov ebp, ebx
shr ebx, cl
and ebx, edx
mov dword [esp + 0x28], ebx
and eax, ebp
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x24]
and edx, ebp
mov dword [esp + 0x44], edx
movzx ebp, byte [esp + 0x21]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6fc6d620
mov ebp, dword [esp + 0x38]
inc ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
lea ecx, [ebp - 0x20]
mov esi, ecx
neg ecx
mov dword [esp + 0x68], ecx
cmp ecx, 0x20
sbb ebx, ebx
cmp esi, 0x20
sbb edi, edi
mov ecx, esi
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x68]
mov esi, 1
shr esi, cl
and esi, ebx
and edx, edi
or edx, esi
cmp edx, eax
sete dl
setb bl
cmp ebp, 0x20
sbb esi, esi
mov ecx, ebp
mov ebp, 1
shl ebp, cl
and ebp, esi
mov esi, dword [esp + 0x44]
cmp ebp, esi
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, edx
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x6fc6d5d4
movzx ecx, byte [esp + 0x22]
jmp 0x6fc6d602
cmp ebp, esi
sete cl
and edx, ecx
test dl, dl
je 0x6fc6d610
movzx ecx, byte [esp + 0x22]
test cl, cl
je 0x6fc6d602
test dl, dl
je 0x6fc6d615
test cl, cl
je 0x6fc6d615
mov edx, dword [esp + 0x74]
test edx, 1
setne bl
jmp 0x6fc6d6a4
mov edx, dword [esp + 0x74]
mov ebx, 1
jmp 0x6fc6d6a4
movzx ecx, byte [esp + 0x22]
mov edx, dword [esp + 0x74]
xor ebx, ebx
jmp 0x6fc6d6a4
mov dword [esp + 0x48], eax
mov ebp, dword [esp + 0x38]
lea ecx, [ebp + 1]
neg ecx
mov dword [esp + 0x60], ecx
cmp ecx, 0x20
sbb ebp, ebp
lea esi, [ecx - 0x20]
mov dword [esp + 0x68], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x68]
cmp edi, 0x20
sbb edi, edi
shr eax, cl
test ebp, eax
sete al
mov byte [esp + 0x23], al
mov ecx, esi
mov eax, dword [esp + 0x48]
mov esi, eax
shl eax, cl
mov ecx, dword [esp + 0x60]
shr edx, cl
and edx, ebp
mov ebp, dword [esp + 0x64]
and eax, ebp
or eax, edx
mov ecx, dword [esp + 0x68]
mov edx, esi
shr esi, cl
and esi, edi
or esi, eax
cmp esi, 1
sete al
movzx ebp, byte [esp + 0x23]
and eax, ebp
movzx ecx, byte [esp + 0x22]
mov esi, dword [esp + 0x44]
mov ebx, eax
mov eax, edx
mov edx, dword [esp + 0x74]
test eax, eax
setne al
test esi, esi
xchg ebp, ebx
setne bl
xchg ebp, ebx
or eax, ebp
test al, al
je 0x6fc6d6ba
xor ecx, ecx
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], ebp
mov dword [esp + 4], edx
xor ecx, 1
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], bl
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], ecx
call fcn.6fc6d860
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x70]
sub ecx, edx
inc ecx
mov dword [eax + 0x10], ecx
add esp, 0x78
ret
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x70]
mov eax, 1
mov esi, 1
jmp 0x6fc6d490
mov eax, dword [esp + 0x2c]
inc eax
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x24]
mov ebp, edi
mov edi, eax
movzx eax, byte [esp + 0x22]
cmp edi, edx
jge 0x6fc6d6fd
mov dword [esp + 0x2c], edi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], esi
mov eax, 0xcccccccd
mul esi
shr edx, 2
mov dword [esp + 0x74], edx
add edx, 0
mov dword [esp + 0x68], edx
mov eax, 0xcccccccd
mul ebp
shr edx, 2
mov dword [esp + 0x64], edx
lea ebx, [edx + edx*4]
sub ebp, ebx
mov eax, 0x33333333
mul ebp
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x68]
add ebx, eax
mov dword [esp + 0x58], ebx
mov edi, dword [esp + 0x74]
lea edx, [edi + edi*4]
sub esi, edx
lea edx, [esi + ebp]
mov ebp, eax
mov eax, 0xcccccccd
mul edx
shr edx, 2
mov eax, edx
add edx, ebx
mov dword [esp + 0x74], edx
mov esi, eax
mov eax, edx
mov ebx, 5
mul ebx
add edi, 0
mov edi, dword [esp + 0x64]
adc edi, 0
mov ebx, dword [esp + 0x68]
add ebx, ebp
mov ebx, dword [esp + 0x5c]
adc edi, ebx
mov ebx, dword [esp + 0x58]
add esi, ebx
adc edi, 0
lea ebx, [edi + edi*4]
add edx, ebx
mov ebx, dword [esp + 0x54]
cmp ebx, edx
setne dl
mov ebx, dword [esp + 0x50]
cmp eax, ebx
setne bl
or edx, ebx
test dl, dl
je 0x6fc6d714
movzx eax, byte [esp + 0x22]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x70]
jmp 0x6fc6d48b
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede694]
mov dword [esp + 4], eax
call fcn.6fc36660
mov eax, ebx
mov ecx, 0x100
call fcn.6fc61f90
mov esi, edx
mov eax, ebx
mov ecx, 0x100
call fcn.6fc62060
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede68c]
mov dword [esp + 4], eax
call fcn.6fc36660
nop
call fcn.6fc60ad0
jmp fcn.6fc6d210