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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6fc1b2d7
sub esp, 0x38
mov edx, dword [0x70087520]
mov ecx, dword [0x700875a8]
mov ebx, dword [0x700875a4]
mov eax, dword [esp + 0x40]
cmp eax, ecx
jae 0x6fc1b2d1
mov ebp, dword [0x70087564]
test byte [ebp], al
mov eax, dword [ebx + eax*4]
cmp eax, 0x400
jae 0x6fc1b2c7
mov dword [esp + 0x1c], edx
mov ebx, dword [ebp + eax*4]
mov dword [esp + 0x2c], ebx
test byte [ebx], al
xor eax, eax
jmp 0x6fc1b08f
mov ebp, dword [esp + 0x28]
lea eax, [ebp + 1]
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
cmp eax, 0x40
jge 0x6fc1b0be
jae 0x6fc1b2bd
mov dword [esp + 0x28], eax
lea ecx, [ebx + eax + 0x40880]
mov dword [esp], ecx
call fcn.6fc02140
movzx eax, byte [esp + 4]
test al, al
je 0x6fc1b080
mov byte [esp + 0x16], al
xor ecx, ecx
jmp 0x6fc1b0c3
add esp, 0x38
ret
inc ecx
cmp ecx, 8
jae 0x6fc1b080
mov edx, 1
shl edx, cl
test al, dl
je 0x6fc1b0c2
mov edx, dword [esp + 0x28]
lea ebx, [ecx + edx*8]
cmp ebx, 0x200
jae 0x6fc1b2b1
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + ebx*4 + 0x40000]
mov dword [esp + 0x20], ecx
test byte [ecx], al
lea edx, [ecx + 0x3b]
mov dword [esp], edx
call fcn.6fc02140
movzx eax, byte [esp + 4]
cmp al, 1
jne 0x6fc1b25a
movzx eax, byte [0x700a7434]
test al, al
je 0x6fc1b125
mov eax, dword [esp + 0x20]
jmp 0x6fc1b13f
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x30]
mov edx, dword [esp + 0x1c]
cmp ecx, edx
je 0x6fc1b13f
lea ebx, [edx + 3]
cmp ecx, ebx
jne 0x6fc1b1ee
lea ecx, [eax + 0x48]
mov dword [esp + 0x34], ecx
nop
mov dword [esp], ecx
call fcn.6fc099f0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x4c]
jmp 0x6fc1b175
nop
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.6fc09bf0
movzx eax, byte [esp + 0x16]
mov ecx, dword [esp + 0x24]
jmp 0x6fc1b0c2
mov ecx, dword [ecx]
test ecx, ecx
je 0x6fc1b158
cmp byte [ecx + 6], 1
jne 0x6fc1b173
movzx edx, word [ecx + 4]
mov ebx, dword [eax + 0x40]
mov ebp, dword [eax + 0xc]
test ebx, ebx
je 0x6fc1b1e9
mov dword [esp + 0x18], ecx
mov eax, edx
xor edx, edx
div ebx
imul eax, ebx
lea ecx, [ebp + eax]
mov dword [esp], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call fcn.6fc1d530
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 8]
mov dword [esp], edx
mov dword [esp + 4], 4
lea edx, [0x6fe01066]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
call fcn.6fc1d400
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
jmp 0x6fc1b173
call fcn.6fc353b0
mov dword [esp + 0x30], ecx
call fcn.6fc38990
lea eax, [0x6fe7c515]
mov dword [esp], eax
mov dword [esp + 4], 6
call fcn.6fc39270
mov dword [esp + 4], 0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.6fc38f10
call fcn.6fc38b70
mov dword [esp + 4], 0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.6fc38f10
call fcn.6fc38bb0
call fcn.6fc38a00
lea eax, [0x6fe7f2ed]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.6fc36d90
mov byte [esp + 0x17], al
call fcn.6fc38990
lea eax, [0x6fe7d4b4]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.6fc39270
mov dword [esp + 4], 0
movzx eax, byte [esp + 0x17]
movzx eax, al
mov dword [esp], eax
call fcn.6fc38f10
call fcn.6fc38bb0
call fcn.6fc38a00
lea eax, [0x6fe89e5a]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.6fc36d90
mov eax, ebx
mov ecx, 0x200
call fcn.6fc61f90
mov ecx, 0x40
call fcn.6fc61f80
mov ecx, 0x400
call fcn.6fc61f90
call fcn.6fc61f80
nop
call fcn.6fc60ad0
jmp fcn.6fc1b020