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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6fd40f9b
sub esp, 0x78
mov eax, dword [esp + 0x80]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x64]
test edx, edx
je 0x6fd4099f
lea ebx, [0x6fee060c]
jmp 0x6fd409a3
xor ebx, ebx
xor edx, edx
mov eax, dword [ebx + 0x50]
mov dword [esp], edx
call eax
cmp dword [esp + 4], 0x16
jne 0x6fd40f82
mov byte [esp + 0x1b], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
lea ecx, [esp + 0x1b]
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0x88]
mov byte [esp + 0xc], cl
call fcn.6fd40860
movzx eax, byte [esp + 0x10]
test al, al
je 0x6fd40f02
movzx ecx, byte [esp + 0x1b]
test cl, cl
jne 0x6fd40eb7
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x6fd40aad
nop
movzx edx, byte [0x70080e40]
test dl, dl
je 0x6fd40a6a
mov edx, dword [esp + 0x80]
mov dword [0x70080e44], edx
mov ebx, dword [0x700a7770]
test ebx, ebx
jne 0x6fd40a56
mov eax, dword [esp + 0x84]
mov dword [0x70080e48], eax
jmp 0x6fd40a78
lea edi, [0x70080e48]
mov eax, dword [esp + 0x84]
call fcn.6fc61f00
jmp 0x6fd40a78
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x6fd40aa3
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x6fd40a9f
or ebp, 0x80
mov esi, eax
jmp 0x6fd40ab3
mov esi, eax
xor ebp, ebp
xor ebx, ebx
xor eax, eax
jmp 0x6fd40ab3
xor ebp, ebp
xor ebx, ebx
xor eax, eax
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.6fc84b00
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 2]
cmp ecx, 9
ja 0x6fd40c41
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x6fd40b5d
nop
movzx edx, byte [0x70080e40]
test dl, dl
je 0x6fd40b27
mov edx, dword [esp + 0x80]
mov dword [0x70080e44], edx
mov edx, dword [0x700a7770]
test edx, edx
jne 0x6fd40b13
mov eax, dword [esp + 0x84]
mov dword [0x70080e48], eax
jmp 0x6fd40b2e
lea edi, [0x70080e48]
mov eax, dword [esp + 0x84]
call fcn.6fc61f00
jmp 0x6fd40b2e
mov eax, dword [esp + 0x84]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x6fd40b55
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x6fd40b63
or edx, 0x80
jmp 0x6fd40b63
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x6fd40b63
xor edx, edx
xor ecx, ecx
xor eax, eax
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.6fc84b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
nop
mov ebx, dword [esp + 0x8c]
test ebx, ebx
je 0x6fd40c1a
nop
movzx ebp, byte [0x70080e40]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6fd40be2
mov ebp, dword [esp + 0x8c]
mov dword [0x70080e44], ebp
mov ebp, dword [0x700a7770]
test ebp, ebp
jne 0x6fd40bc3
mov ebp, dword [esp + 0x90]
mov dword [0x70080e48], ebp
jmp 0x6fd40be9
lea edi, [0x70080e48]
mov ebp, eax
mov eax, dword [esp + 0x90]
call fcn.6fc61f00
mov eax, ebp
mov ebp, dword [esp + 0x90]
jmp 0x6fd40be9
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebp
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x6fd40c12
nop
movzx esi, byte [ebx + 0xf]
mov edi, esi
and esi, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x6fd40c20
or esi, 0x80
jmp 0x6fd40c20
xor esi, esi
xor ebx, ebx
xor ebp, ebp
jmp 0x6fd40c20
xor esi, esi
xor ebx, ebx
xor ebp, ebp
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.6fc85e80
jmp 0x6fd40eab
cmp eax, 0x19
jne 0x6fd40f6a
mov eax, dword [esp + 0x80]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6fd40c70
lea ecx, [0x6fee060c]
jmp 0x6fd40c74
xor ecx, ecx
xor eax, eax
mov ecx, dword [ecx + 0x28]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [0x700808bc]
mov edx, dword [esp + 8]
cmp dword [0x700808b8], eax
jne 0x6fd40f52
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.6fc039a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x6fd40f52
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x6fd40cd9
lea ebx, [0x6fee060c]
jmp 0x6fd40cdd
xor ebx, ebx
xor edx, edx
mov eax, dword [ebx + 0x50]
mov dword [esp], edx
call eax
cmp dword [esp + 4], 0x16
jne 0x6fd40f3a
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x6fd40d16
lea ecx, [0x6fee060c]
jmp 0x6fd40d1a
xor ecx, ecx
xor eax, eax
mov ecx, dword [ecx + 0x28]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [0x700808bc]
mov edx, dword [esp + 8]
cmp dword [0x700808b8], eax
je 0x6fd40d3f
mov eax, 1
jmp 0x6fd40d57
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.6fc039a0
movzx eax, byte [esp + 0xc]
xor eax, 1
test al, al
jne 0x6fd40f3a
mov ecx, dword [esp + 0x80]
lea edx, [0x6fe7ab00]
cmp ecx, edx
jne 0x6fd40f24
mov ecx, dword [esp + 0x8c]
cmp ecx, edx
jne 0x6fd40f0e
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x84]
cmp ecx, edx
je 0x6fd40eab
mov ebx, dword [ecx + 4]
mov ebp, dword [edx + 4]
mov esi, dword [ecx + 8]
mov eax, ecx
mov ecx, dword [edx + 0xc]
cmp ecx, esi
jl 0x6fd40db2
mov edi, esi
jmp 0x6fd40e40
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ebx
cmp esi, 1
jne 0x6fd40e03
lea eax, [0x6fe50f00]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.6fc4adf0
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov esi, 1
mov ecx, 1
jmp 0x6fd40e40
lea eax, [0x6fe50f00]
mov dword [esp], eax
mov dword [esp + 4], esi
lea eax, [esi + 4]
mov dword [esp + 0x1c], eax
mov dword [esp + 8], eax
call fcn.6fc4adf0
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov esi, edi
mov ecx, dword [esp + 0x1c]
cmp esi, edi
jg 0x6fd40e46
mov edi, esi
cmp ebp, ebx
je 0x6fd40e83
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], ebp
mov dword [esp], ebp
mov dword [esp + 4], ebx
shl edi, 2
mov dword [esp + 8], edi
call fcn.6fc62890
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
mov dword [edx + 8], esi
mov dword [edx + 0xc], ecx
mov ecx, dword [0x700a7770]
test ecx, ecx
jne 0x6fd40e98
mov dword [edx + 4], ebp
jmp 0x6fd40ea6
lea edi, [edx + 4]
mov ecx, eax
mov eax, ebp
call fcn.6fc61f00
mov eax, ecx
movzx eax, byte [eax]
mov byte [edx], al
mov byte [esp + 0x94], 1
add esp, 0x78
ret
lea eax, [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
call fcn.6fd3f1d0
movzx eax, byte [esp + 0xc]
test al, al
je 0x6fd40ef6
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x6fd40ef6
mov byte [esp + 0x94], 1
add esp, 0x78
ret
mov byte [esp + 0x94], 0
add esp, 0x78
ret
mov byte [esp + 0x94], 0
add esp, 0x78
ret
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x6fe50ec0]
mov dword [esp + 8], eax
call fcn.6fc09060
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x6fe50ec0]
mov dword [esp + 8], eax
call fcn.6fc09060
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede64c]
mov dword [esp + 4], eax
call fcn.6fc36660
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede644]
mov dword [esp + 4], eax
call fcn.6fc36660
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede644]
mov dword [esp + 4], eax
call fcn.6fc36660
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede634]
mov dword [esp + 4], eax
call fcn.6fc36660
nop
call fcn.6fc60ad0
jmp fcn.6fd40960