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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xf0]
cmp eax, dword [ecx + 8]
jbe 0x6fd596cb
sub esp, 0x170
nop
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x194]
lea ebx, [ecx + eax + 0x10]
mov dword [esp + 0x28], ebx
mov edx, dword [esp + 0x180]
cmp edx, ebx
jl 0x6fd592f4
jb 0x6fd596c3
mov ebp, dword [esp + 0x178]
jmp 0x6fd5932f
lea ecx, [0x6fe51840]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov edx, dword [esp + 0x178]
mov dword [esp + 0xc], edx
call fcn.6fc4aca0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x194]
mov ebx, dword [esp + 0x28]
mov edx, ebx
mov ebp, eax
mov eax, dword [esp + 0x17c]
cmp eax, ebx
ja 0x6fd596bc
mov esi, edx
sub edx, eax
mov edi, edx
neg edx
sar edx, 0x1f
and eax, edx
mov edx, esi
lea esi, [ebp + eax]
cmp ecx, edi
ja 0x6fd596b5
mov eax, edx
lea edx, [ecx + 0x10]
cmp ecx, edx
ja 0x6fd596ac
mov dword [esp + 0x34], edi
mov dword [esp + 0x164], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x160], ebp
mov edx, edi
sub edi, ecx
mov dword [esp + 0x2c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ecx
lea ebx, [esi + edi]
mov dword [esp + 0x16c], ebx
cmp ecx, 0xfffffff0
jne 0x6fd593a7
mov ebp, dword [esp + 0x190]
mov edi, dword [esp + 0x160]
jmp 0x6fd593e4
test ecx, ecx
jne 0x6fd593bb
mov ebp, dword [esp + 0x190]
mov edi, dword [esp + 0x160]
jmp 0x6fd593e4
mov edi, ebp
mov ebp, dword [esp + 0x190]
cmp ebp, esi
je 0x6fd593e4
nop
lea ebx, [ecx + ebp - 1]
cmp ebx, esi
jb 0x6fd593e4
mov esi, dword [esp + 0x164]
lea ebx, [ecx + esi + 0xf]
cmp ebx, ebp
jae 0x6fd59694
lea edi, [esp + 0x48]
xor eax, eax
call fcn.6fc62198
mov ecx, dword [esp + 0x174]
test byte [ecx], al
lea edi, [esp + 0xb8]
call fcn.6fc62176
lea ecx, [esp + 0xb8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x20
mov dword [esp + 0xc], 0x20
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x18], ecx
call fcn.6fd56500
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x168], ecx
mov dword [esp], ecx
lea edx, [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x20
mov dword [esp + 0xc], 0x20
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0x20
mov dword [esp + 0x18], 0x20
call fcn.6fd56850
nop
mov ecx, dword [esp + 0x168]
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x70]
shr ebx, 6
mov ebp, edx
sub edx, ebx
movzx ebx, byte [ecx + 0x74]
test bl, bl
jne 0x6fd5967c
cmp edx, 1
ja 0x6fd5967c
cmp ebp, 1
jbe 0x6fd594c8
lea eax, [ebp - 1]
shl eax, 6
mov dword [ecx + 0x70], eax
jmp 0x6fd594d6
mov dword [ecx + 0x20], 1
mov dword [ecx + 0x70], 0
mov dword [esp], ecx
mov eax, dword [esp + 0x164]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x194]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x190]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x198]
mov dword [esp + 0x18], ebx
call fcn.6fd56850
lea edi, [esp + 0x68]
xor eax, eax
call fcn.6fc6218c
lea eax, [esp + 0x48]
mov dword [esp], eax
lea eax, [esp + 0x68]
mov dword [esp + 4], eax
call fcn.6fd57d60
lea eax, [esp + 0x68]
mov dword [esp], eax
mov ecx, dword [esp + 0x19c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x1a0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0xc], edx
call fcn.6fd590f0
lea eax, [esp + 0x68]
mov dword [esp], eax
mov ecx, dword [esp + 0x164]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x194]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
call fcn.6fd590f0
lea eax, [esp + 0x68]
mov dword [esp], eax
mov ecx, dword [esp + 0x1a0]
mov dword [esp + 4], ecx
call fcn.6fd591e0
lea eax, [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 4], eax
call fcn.6fd591e0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
lea eax, [esp + 0x68]
mov dword [esp], eax
lea eax, [esp + 0x38]
mov dword [esp + 4], eax
call fcn.6fd57cd0
mov byte [esp + 0xb4], 1
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
jb 0x6fd59608
mov ebx, dword [esp + 0x16c]
jmp 0x6fd59639
lea ecx, [0x6fe51840]
mov dword [esp], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x10
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
lea eax, [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.6fc62890
mov eax, dword [esp + 0x160]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1b0], eax
add esp, 0x170
ret
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede844]
mov dword [esp + 4], eax
call fcn.6fc36660
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede83c]
mov dword [esp + 4], eax
call fcn.6fc36660
mov eax, ecx
mov ecx, edx
call fcn.6fc61fe0
mov edx, edi
call fcn.6fc61fc0
mov ecx, ebx
call fcn.6fc61fe0
mov ecx, ebx
call fcn.6fc61fc0
nop
call fcn.6fc60ad0
jmp fcn.6fd592a0