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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6fd84859
sub esp, 0x58
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x6fd83f9f
mov eax, edi
cmp esi, eax
jle 0x6fd843a8
jbe 0x6fd84851
mov dword [esp + 0x2c], eax
mov byte [esp + 0x25], dl
mov dword [esp + 0x38], ecx
movzx edi, byte [ebp + eax]
lea ebx, [ebp + eax]
mov dword [esp + 0x44], ebx
xchg edi, eax
cmp al, 0x25
xchg edi, eax
jne 0x6fd8421c
lea edi, [eax + 2]
cmp esi, edi
jle 0x6fd84316
lea ebx, [eax + 1]
cmp esi, ebx
jbe 0x6fd84848
movzx ebx, byte [ebp + eax + 1]
lea ebp, [ebx - 0x30]
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
xchg ebp, eax
cmp al, 9
xchg ebp, eax
ja 0x6fd84000
cmp esi, edi
jmp 0x6fd84023
lea ebp, [ebx - 0x61]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x6fd8400e
cmp esi, edi
jmp 0x6fd8401e
lea ebp, [ebx - 0x41]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x6fd84312
cmp esi, edi
movzx ebp, byte [esp + 0x27]
jbe 0x6fd8483f
mov edi, dword [esp + 0x5c]
movzx edi, byte [edi + eax + 2]
lea esi, [edi - 0x30]
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
xchg esi, eax
cmp al, 9
xchg esi, eax
jbe 0x6fd8405f
lea esi, [edi - 0x61]
xchg esi, eax
cmp al, 5
xchg esi, eax
jbe 0x6fd8405a
lea esi, [edi - 0x41]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x6fd84308
movzx esi, byte [esp + 0x26]
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
mov edi, dword [esp + 0x64]
cmp edi, 3
jne 0x6fd84101
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x6fd840ac
lea esi, [ebx - 0x61]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x6fd8408f
lea esi, [ebx - 0x57]
mov ebp, esi
movzx esi, byte [esp + 0x26]
jmp 0x6fd840ac
lea esi, [ebx - 0x41]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x6fd840a5
lea esi, [ebx - 0x37]
mov ebp, esi
movzx esi, byte [esp + 0x26]
jmp 0x6fd840ac
movzx esi, byte [esp + 0x26]
xor ebp, ebp
xchg ebp, eax
cmp al, 8
xchg ebp, eax
jae 0x6fd840fc
mov byte [esp + 0x24], bl
lea ebp, [eax + 3]
mov ebx, dword [esp + 0x60]
cmp ebx, ebp
jb 0x6fd84836
cmp eax, ebp
ja 0x6fd8482f
mov ebp, dword [esp + 0x44]
cmp word [ebp], 0x3225
jne 0x6fd8429c
mov ebp, dword [esp + 0x5c]
lea ebp, [ebp + eax + 2]
cmp byte [ebp], 0x35
jne 0x6fd84298
movzx ebx, byte [esp + 0x24]
movzx ebp, byte [esp + 0x27]
jmp 0x6fd84101
movzx ebp, byte [esp + 0x27]
cmp edi, 4
jne 0x6fd84201
xchg ebp, eax
cmp al, 9
xchg ebp, eax
ja 0x6fd84118
xchg esi, eax
cmp al, 9
xchg esi, eax
jmp 0x6fd8414a
lea ebp, [ebx - 0x61]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x6fd8412c
lea ebp, [ebx - 0x57]
xchg esi, eax
cmp al, 9
xchg esi, eax
jmp 0x6fd8414a
lea ebp, [ebx - 0x41]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x6fd84140
lea ebp, [ebx - 0x37]
xchg esi, eax
cmp al, 9
xchg esi, eax
jmp 0x6fd8414a
xchg esi, eax
cmp al, 9
xchg esi, eax
mov ebp, 0
jbe 0x6fd84171
movzx ebx, byte [esp + 0x23]
lea esi, [ebx - 0x61]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x6fd84160
lea esi, [ebx - 0x57]
jmp 0x6fd84171
lea esi, [ebx - 0x41]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x6fd8416f
lea esi, [ebx - 0x37]
jmp 0x6fd84171
xor esi, esi
shl ebp, 4
or esi, ebp
lea ebx, [eax + 3]
mov ebp, dword [esp + 0x60]
cmp ebp, ebx
jb 0x6fd84826
cmp eax, ebx
ja 0x6fd8481f
mov ebx, dword [esp + 0x44]
cmp word [ebx], 0x3225
jne 0x6fd841ad
mov ebx, dword [esp + 0x5c]
lea edi, [ebx + eax + 2]
cmp byte [edi], 0x35
je 0x6fd841ec
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x64]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jne 0x6fd841b8
xor esi, esi
jmp 0x6fd841f6
xchg esi, eax
mov byte [esp], al
xchg esi, eax
mov dword [esp + 4], 3
call fcn.6fd83df0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x38]
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov esi, eax
mov eax, dword [esp + 0x2c]
jmp 0x6fd841f6
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x64]
xor esi, esi
xchg esi, eax
test al, al
xchg esi, eax
je 0x6fd84205
jmp 0x6fd842d2
mov ebp, dword [esp + 0x60]
inc ecx
lea ebx, [eax + 3]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
mov edi, ebx
mov ebx, dword [esp + 0x64]
jmp 0x6fd83f9d
xchg edi, eax
cmp al, 0x2b
xchg edi, eax
jne 0x6fd8423b
mov edi, dword [esp + 0x64]
cmp edi, 6
sete dl
lea ebx, [eax + 1]
mov edi, ebx
mov ebx, dword [esp + 0x64]
jmp 0x6fd83f9d
mov ebx, dword [esp + 0x64]
cmp ebx, 3
je 0x6fd84249
cmp ebx, 4
jne 0x6fd84284
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jb 0x6fd84254
xor edi, edi
jmp 0x6fd84286
xchg edi, eax
mov byte [esp], al
xchg edi, eax
mov dword [esp + 4], ebx
call fcn.6fd83df0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x38]
movzx edx, byte [esp + 0x25]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
mov edi, eax
mov eax, dword [esp + 0x2c]
jmp 0x6fd84286
xor edi, edi
xchg edi, eax
test al, al
xchg edi, eax
jne 0x6fd84363
lea edi, [eax + 1]
jmp 0x6fd83f9d
mov ebp, dword [esp + 0x44]
mov dword [esp], ebp
mov dword [esp + 4], 3
call fcn.6fc09410
mov eax, dword [esp + 8]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea ecx, [0x6fedf234]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
add esp, 0x58
ret
mov dword [esp], ebx
mov dword [esp + 4], 3
call fcn.6fc09410
mov eax, dword [esp + 8]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea ecx, [0x6fedf234]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
add esp, 0x58
ret
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
jmp 0x6fd84316
mov ebp, dword [esp + 0x5c]
sub esi, eax
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
add eax, ebp
cmp ecx, 3
jle 0x6fd84331
mov ecx, 3
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.6fc09410
mov eax, dword [esp + 8]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea ecx, [0x6fedf234]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
add esp, 0x58
ret
lea ecx, [eax + 1]
cmp eax, ecx
ja 0x6fd8481a
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.6fc09410
mov eax, dword [esp + 8]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea ecx, [0x6fedf220]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
add esp, 0x58
ret
test ecx, ecx
jne 0x6fd843cc
test dl, dl
jne 0x6fd843cc
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
add esp, 0x58
ret
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
nop
lea edx, [esp + 0x48]
mov dword [esp + 0x48], edx
shl ecx, 1
mov edi, esi
sub esi, ecx
test esi, esi
jl 0x6fd84802
mov edx, dword [esp + 0x50]
mov eax, ebx
mov ebx, dword [esp + 0x54]
mov ecx, ebx
sub ebx, edx
cmp ebx, esi
jge 0x6fd84488
mov dword [esp + 0x30], edx
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [esi + ecx*2]
mov dword [esp + 0x34], ecx
mov dword [esp + 8], ecx
call fcn.6fc4adf0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jl 0x6fd8444c
mov edx, ebx
cmp ecx, eax
je 0x6fd8446c
mov dword [esp + 0x40], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.6fc62890
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x50], ebx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
xor ecx, ecx
jmp 0x6fd84491
inc ecx
mov ebp, dword [esp + 0x5c]
cmp edi, ecx
jle 0x6fd84763
jbe 0x6fd847f9
movzx edx, byte [ecx + ebp]
cmp dl, 0x25
jne 0x6fd845b9
lea edx, [ecx + 1]
cmp edi, edx
jbe 0x6fd847f0
movzx edx, byte [ecx + ebp + 1]
lea ebx, [edx - 0x30]
cmp bl, 9
jbe 0x6fd844e0
lea ebx, [edx - 0x61]
cmp bl, 5
ja 0x6fd844d1
lea ebx, [edx - 0x57]
jmp 0x6fd844e0
lea ebx, [edx - 0x41]
cmp bl, 5
ja 0x6fd844de
lea ebx, [edx - 0x37]
jmp 0x6fd844e0
xor ebx, ebx
lea edx, [ecx + 2]
cmp edi, edx
jbe 0x6fd847e7
movzx esi, byte [ecx + ebp + 2]
mov ecx, ebp
lea ebp, [esi - 0x30]
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x6fd8451c
lea ebp, [esi - 0x61]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x6fd8450b
lea ebp, [esi - 0x57]
jmp 0x6fd8451c
lea ebp, [esi - 0x41]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x6fd8451a
lea ebp, [esi - 0x37]
jmp 0x6fd8451c
xor ebp, ebp
nop
shl ebx, 4
or ebp, ebx
nop
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x6fd84538
lea esi, [esp + 0x48]
cmp ebx, esi
je 0x6fd84544
jmp 0x6fd847cf
lea ebx, [esp + 0x48]
mov dword [esp + 0x48], ebx
lea esi, [esp + 0x48]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x50]
lea esi, [ebx + 1]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
cmp edx, esi
jae 0x6fd845a0
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.6fc4af30
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
movzx ebp, byte [esp + 0x22]
lea esi, [ebx + 1]
mov dword [esp + 0x50], esi
xchg ebp, eax
mov byte [edi + ebx], al
xchg ebp, eax
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x3c]
jmp 0x6fd8448c
mov dword [esp + 0x28], ecx
cmp dl, 0x2b
jne 0x6fd846d7
cmp eax, 6
jne 0x6fd84653
nop
nop
mov edx, dword [esp + 0x48]
test edx, edx
je 0x6fd845e6
lea ebx, [esp + 0x48]
cmp edx, ebx
je 0x6fd845f2
jmp 0x6fd847b7
lea edx, [esp + 0x48]
mov dword [esp + 0x48], edx
lea ebx, [esp + 0x48]
mov edx, dword [esp + 0x50]
lea esi, [edx + 1]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x54]
cmp ebp, esi
jae 0x6fd84643
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x60]
lea ebp, [edx + 1]
mov dword [esp + 0x50], ebp
mov byte [ebx + edx], 0x20
jmp 0x6fd8448c
nop
nop
mov edx, dword [esp + 0x48]
test edx, edx
je 0x6fd8466a
lea ebx, [esp + 0x48]
cmp edx, ebx
je 0x6fd84676
jmp 0x6fd8479f
lea edx, [esp + 0x48]
mov dword [esp + 0x48], edx
lea ebx, [esp + 0x48]
mov edx, dword [esp + 0x50]
lea esi, [edx + 1]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x54]
cmp ebp, esi
jae 0x6fd846c7
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.6fc4af30
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x60]
lea ebp, [edx + 1]
mov dword [esp + 0x50], ebp
mov byte [ebx + edx], 0x2b
jmp 0x6fd8448c
nop
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x6fd846ed
lea esi, [esp + 0x48]
cmp ebx, esi
je 0x6fd846f9
jmp 0x6fd84787
lea ebx, [esp + 0x48]
mov dword [esp + 0x48], ebx
lea esi, [esp + 0x48]
mov ebx, dword [esp + 0x50]
lea esi, [ebx + 1]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x54]
cmp edi, esi
jae 0x6fd8474f
mov byte [esp + 0x27], dl
lea eax, [0x6fe51840]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call fcn.6fc4af30
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x27]
lea esi, [ebx + 1]
mov dword [esp + 0x50], esi
mov byte [ebp + ebx], dl
mov edi, dword [esp + 0x60]
jmp 0x6fd8448c
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
add esp, 0x58
ret
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede6c4]
mov dword [esp + 4], eax
call fcn.6fc36660
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede6c4]
mov dword [esp + 4], eax
call fcn.6fc36660
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede6c4]
mov dword [esp + 4], eax
call fcn.6fc36660
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede6c4]
mov dword [esp + 4], eax
call fcn.6fc36660
mov eax, edx
mov ecx, edi
call fcn.6fc61f80
mov eax, edx
mov ecx, edi
call fcn.6fc61f80
mov eax, ecx
mov ecx, edi
call fcn.6fc61f80
lea eax, [0x6fe514c0]
mov dword [esp], eax
lea eax, [0x6fede6cc]
mov dword [esp + 4], eax
call fcn.6fc36660
call fcn.6fc61fe0
mov ecx, ebx
call fcn.6fc61fe0
mov ecx, ebx
mov edx, ebp
call fcn.6fc61fa0
mov ecx, ebp
call fcn.6fc61fe0
mov ecx, ebp
mov edx, ebx
call fcn.6fc61fa0
mov eax, edi
mov ecx, esi
call fcn.6fc61f80
mov eax, ebx
mov ecx, esi
call fcn.6fc61f80
mov ecx, esi
call fcn.6fc61f80
nop
call fcn.6fc60ad0
jmp fcn.6fd83f70