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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6fd4d361
sub esp, 0x40
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
cmp ecx, 0xffffffff
jne 0x6fd4cf6a
mov ecx, eax
jmp 0x6fd4cf70
mov ecx, eax
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
lea ebp, [ebx + 7]
sar ebp, 0x1f
shr ebp, 0x1d
lea ebp, [ebp + ebx + 7]
sar ebp, 3
mov esi, dword [esp + 0x54]
cmp esi, ebp
jne 0x6fd4d172
mov edi, dword [esp + 0x48]
cmp edi, ecx
jne 0x6fd4d15a
lea edi, [eax + ecx + 2]
cmp edi, ebp
jg 0x6fd4d142
lea edi, [ebp - 1]
cmp esi, edi
jbe 0x6fd4d357
mov esi, dword [esp + 0x50]
lea ebx, [ebp + esi - 1]
cmp byte [ebx], 0xbc
jne 0x6fd4d12a
mov ebx, ebp
sub ebp, ecx
lea ecx, [ebp - 1]
mov esi, dword [esp + 0x58]
cmp esi, ecx
jb 0x6fd4d350
cmp ecx, edi
ja 0x6fd4d347
mov dword [esp + 0x38], ebp
mov edi, ebx
sub ebx, ebp
sub esi, ebp
inc esi
mov dword [esp + 0x24], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ecx
mov edx, dword [esp + 0x50]
add esi, edx
shl edi, 3
mov ebp, dword [esp + 0x5c]
sub edi, ebp
test edi, edi
jl 0x6fd4d342
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], eax
cmp edi, 8
sbb ebp, ebp
mov ecx, edi
mov eax, 0xffffffff
shr al, cl
and eax, ebp
movzx ebp, byte [edx]
mov edi, eax
not eax
xchg ebp, ebx
test bl, al
xchg ebp, ebx
jne 0x6fd4d112
mov dword [esp + 0x3c], esi
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
mov dword [esp + 0x2c], ebx
mov dword [esp], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov ebp, dword [esp + 0x64]
mov dword [esp + 0xc], ebp
mov edi, dword [esp + 0x68]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
call fcn.6fd4d800
mov ecx, dword [esp + 0x28]
test ecx, ecx
jbe 0x6fd4d339
mov ebx, dword [esp + 0x50]
movzx ebp, byte [ebx]
movzx esi, byte [esp + 0x23]
and esi, ebp
xchg esi, eax
mov byte [ebx], al
xchg esi, eax
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x6fd4d0dc
nop
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.6fc02be0
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x6fd4d0fa
mov ebx, dword [esp + 0x38]
sub ebx, eax
lea eax, [ebx - 2]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x50]
mov ebp, eax
mov esi, dword [esp + 0x38]
mov edi, esi
sub esi, ebp
lea eax, [esi - 2]
mov edx, dword [esp + 0x58]
cmp edx, eax
jb 0x6fd4d332
xor ebp, ebp
jmp 0x6fd4d1aa
mov eax, dword [0x700805b8]
mov ecx, dword [0x700805bc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
add esp, 0x40
ret
mov eax, dword [0x700805b8]
mov ecx, dword [0x700805bc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
add esp, 0x40
ret
mov eax, dword [0x700805b8]
mov ecx, dword [0x700805bc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
add esp, 0x40
ret
mov eax, dword [0x700805b8]
mov ecx, dword [0x700805bc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
add esp, 0x40
ret
mov eax, dword [0x700805b8]
mov ecx, dword [0x700805bc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
add esp, 0x40
ret
lea eax, [0x6fe587c0]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x28
lea ecx, [0x6fe8925b]
mov dword [eax], ecx
lea ecx, [0x6fededfc]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
add esp, 0x40
ret
inc ebp
mov edi, dword [esp + 0x38]
cmp ebp, eax
jge 0x6fd4d1d0
movzx edi, byte [ebx + ebp]
xchg edi, eax
test al, al
xchg edi, eax
je 0x6fd4d1a5
mov eax, dword [0x700805b8]
mov ecx, dword [0x700805bc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
add esp, 0x40
ret
cmp eax, ecx
jae 0x6fd4d32d
lea ebp, [esi + ebx - 2]
cmp byte [ebp], 1
jne 0x6fd4d310
lea eax, [esi - 1]
cmp eax, ecx
ja 0x6fd4d328
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], eax
lea eax, [0x6fe4df60]
mov dword [esp], eax
call fcn.6fc0ba30
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov dword [esp + 8], 8
mov dword [esp + 0xc], 8
call ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x34]
sub ebx, ebp
inc ebx
mov esi, ebx
neg ebx
sar ebx, 0x1f
mov edi, dword [esp + 0x30]
and edi, ebx
mov ebx, dword [esp + 0x50]
add ebx, edi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x38]
sub ebx, ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
call ecx
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
cmp eax, edx
jne 0x6fd4d2e4
mov dword [esp], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.6fc02ba0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x6fd4d2fc
mov eax, dword [0x700805b8]
mov ecx, dword [0x700805bc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
add esp, 0x40
ret
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
add esp, 0x40
ret
mov eax, dword [0x700805b8]
mov ecx, dword [0x700805bc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
add esp, 0x40
ret
call fcn.6fc61fe0
call fcn.6fc61f80
mov ecx, eax
call fcn.6fc61fc0
xor eax, eax
mov ecx, eax
call fcn.6fc61f80
call fcn.6fc35350
mov eax, ecx
mov ecx, edi
call fcn.6fc61fe0
mov edx, esi
call fcn.6fc61fc0
mov eax, edi
mov ecx, esi
call fcn.6fc61f80
nop
call fcn.6fc60ad0
jmp fcn.6fd4cf30