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

Disassembly:
lea r12, [rsp - 0x1d8]
cmp r12, qword [r14 + 0x10]
jbe 0x4f3c53
push rbp
mov rbp, rsp
sub rsp, 0x250
mov qword [rsp + 0x260], rax
mov qword [rsp + 0x268], rbx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x25
nop dword [rax + rax]
call fcn.00403ae0
xorps xmm15, xmm15
mov r14, qword [0x0092d718]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
nop dword [rax]
cmp rcx, 0xffffffffffffffff
je 0x4f30e9
mov rdx, qword [rsp + 0x268]
cmp rdx, rcx
jb 0x4f3c4d
lea rax, [rcx + 1]
nop
cmp rdx, rax
jb 0x4f3c45
mov r8, rdx
sub rdx, rcx
lea r9, [rdx - 1]
mov r10, r9
neg r9
sar r9, 0x3f
and r9, rax
mov r11, qword [rsp + 0x260]
add r9, r11
cmp rdx, 1
jne 0x4f3102
movups xmmword [rsp + 0x220], xmm15
movups xmmword [rsp + 0x230], xmm15
movups xmmword [rsp + 0x240], xmm15
mov qword [rsp + 0x220], r11
mov qword [rsp + 0x228], r8
lea rcx, [0x006ce7aa]
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x238], 0x1f
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
mov r8, qword [rsp + 0x268]
mov r11, qword [rsp + 0x260]
mov rcx, r8
xor r10d, r10d
xor r9d, r9d
movups xmmword [rsp + 0x28], xmm15
cmp rcx, 2
jl 0x4f317b
cmp byte [r11], 0x3a
jne 0x4f316c
cmp byte [r11 + 1], 0x3a
jne 0x4f315d
lea rdx, [rcx - 2]
mov r12, rdx
neg rdx
sar rdx, 0x3f
and edx, 2
add rdx, r11
cmp rcx, 2
je 0x4f3139
xor eax, eax
jmp 0x4f3188
mov rcx, qword [0x008a6820]
xor eax, eax
mov rbx, rax
mov rdi, r9
mov rsi, r10
call fcn.004f3d20
xor edi, edi
xor esi, esi
add rsp, 0x250
pop rbp
ret
mov r12, rcx
mov rdx, r11
mov rax, 0xffffffffffffffff
jmp 0x4f3188
mov r12, rcx
mov rdx, r11
mov rax, 0xffffffffffffffff
jmp 0x4f3188
mov r12, rcx
mov rdx, r11
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x68], r9
xor ecx, ecx
jmp 0x4f31a0
mov rcx, rax
mov rax, rdi
nop dword [rax]
cmp rcx, 0x10
jge 0x4f32a0
xor ebx, ebx
xor esi, esi
jmp 0x4f3508
test rbx, rbx
je 0x4f3b55
nop dword [rax]
cmp r12, rbx
jle 0x4f31d9
jbe 0x4f3c38
movzx edi, byte [rdx + rbx]
cmp dil, 0x2e
je 0x4f3620
mov edi, esi
shr esi, 8
mov byte [rsp + rcx + 0x28], sil
mov byte [rsp + rcx + 0x29], dil
cmp r12, rbx
jb 0x4f3c13
sub r12, rbx
mov rsi, r12
neg r12
sar r12, 0x3f
and r12, rbx
lea rdi, [rcx + 2]
lea r13, [rdx + r12]
test rsi, rsi
je 0x4f3b47
movzx r15d, byte [rdx + r12]
nop word [rax + rax]
cmp r15b, 0x3a
jne 0x4f3a93
cmp rsi, 1
je 0x4f39df
lea r13, [rsi - 1]
lea r15, [rdx + r12]
lea r15, [r15 + 1]
test r13, r13
jbe 0x4f3c09
movzx edx, byte [rdx + r12 + 1]
cmp dl, 0x3a
jne 0x4f3285
test rax, rax
jge 0x4f392a
lea rdx, [rsi - 2]
mov r12, rdx
neg rdx
sar rdx, 0x3f
and edx, 1
add rdx, r15
cmp rsi, 2
je 0x4f391f
mov rax, rdi
nop
jmp 0x4f3196
mov r12, r13
mov rdx, r15
mov rcx, rax
mov rax, rdi
mov rdi, rcx
jmp 0x4f3196
test r12, r12
jne 0x4f33bf
cmp rcx, 0x10
jge 0x4f3340
test rax, rax
jl 0x4f32c5
lea rdx, [rcx - 1]
nop dword [rax]
jmp 0x4f34a0
movups xmmword [rsp + 0x220], xmm15
movups xmmword [rsp + 0x230], xmm15
movups xmmword [rsp + 0x240], xmm15
mov qword [rsp + 0x220], r11
mov qword [rsp + 0x228], r8
lea rcx, [0x006cb2a4]
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x238], 0x18
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
test rax, rax
jl 0x4f3467
movups xmmword [rsp + 0x220], xmm15
movups xmmword [rsp + 0x230], xmm15
movups xmmword [rsp + 0x240], xmm15
mov qword [rsp + 0x220], r11
mov qword [rsp + 0x228], r8
lea rcx, [0x006d50d9]
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x238], 0x31
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
nop
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x78], r8
lea rcx, [0x006ce0e5]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], 0x1e
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], r12
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x240], xmm0
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsp], xmm0
call fcn.004f26a0
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x40]
nop
call fcn.004f3d20
xor edi, edi
xor esi, esi
add rsp, 0x250
pop rbp
ret
movzx esi, byte [rsp + rbx + 0x28]
mov byte [rsp + rdx + 0x38], sil
lea rdx, [rbx - 1]
cmp rax, rdx
jg 0x4f34bd
mov rbx, rdx
sub rdx, rcx
cmp rbx, 0x10
jae 0x4f34f6
lea rsi, [rdx + 0x10]
cmp rsi, 0x10
jb 0x4f3492
jmp 0x4f34e9
mov rdx, rax
sub rax, rcx
lea rbx, [rax + 0xf]
jmp 0x4f34d1
mov byte [rsp + rbx + 0x28], 0
dec rbx
cmp rdx, rbx
jg 0x4f3467
cmp rbx, 0x10
jb 0x4f34c9
mov rax, rbx
mov ecx, 0x10
call fcn.004601e0
mov rax, rsi
mov ecx, 0x10
call fcn.004601e0
mov rax, rbx
mov ecx, 0x10
nop
call fcn.004601e0
inc rbx
cmp r12, rbx
jle 0x4f31b3
movzx edi, byte [rdx + rbx]
lea r13d, [rdi - 0x30]
cmp r13b, 9
ja 0x4f352a
shl esi, 4
movzx edi, r13b
add esi, edi
jmp 0x4f3560
lea r13d, [rdi - 0x61]
cmp r13b, 5
ja 0x4f3542
shl esi, 4
add edi, 0xffffffa9
movzx edi, dil
add esi, edi
jmp 0x4f3560
lea r13d, [rdi - 0x41]
cmp r13b, 5
ja 0x4f31b3
shl esi, 4
add edi, 0xffffffc9
movzx edi, dil
add esi, edi
nop dword [rax]
cmp esi, 0xffff
jbe 0x4f3505
movups xmmword [rsp + 0x1f0], xmm15
movups xmmword [rsp + 0x200], xmm15
movups xmmword [rsp + 0x210], xmm15
mov qword [rsp + 0x1f0], r11
mov qword [rsp + 0x1f8], r8
lea rcx, [0x006cca76]
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x208], 0x1b
mov qword [rsp + 0x210], rdx
mov qword [rsp + 0x218], r12
movups xmm0, xmmword [rsp + 0x1f0]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x200]
movups xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0x210]
movups xmmword [rsp + 0x240], xmm0
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
nop dword [rax]
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
test rax, rax
jge 0x4f36e7
cmp rcx, 0xc
je 0x4f36e7
movups xmmword [rsp + 0x190], xmm15
movups xmmword [rsp + 0x1a0], xmm15
movups xmmword [rsp + 0x1b0], xmm15
mov qword [rsp + 0x190], r11
mov qword [rsp + 0x198], r8
lea rcx, [0x006d7cdf]
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x1a8], 0x44
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1b8], r12
movups xmm0, xmmword [rsp + 0x190]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rsp + 0x240], xmm0
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
lea rsi, [rcx + 4]
cmp rsi, 0x10
jg 0x4f3869
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rax
mov rax, rdx
mov rbx, r12
call fcn.004f2b80
test rdi, rdi
jne 0x4f379d
mov rax, qword [rsp + 0x48]
lea rdx, [rax + 2]
mov rsi, rbx
shr rbx, 0x18
mov rdi, rsi
shr rsi, 0x10
nop
mov byte [rsp + rax + 0x28], bl
nop
mov byte [rsp + rax + 0x29], sil
nop
cmp rdx, 0x10
jae 0x4f3c2b
lea rdx, [rax + 3]
mov rsi, rdi
shr rdi, 8
mov byte [rsp + rax + 0x2a], dil
nop dword [rax + rax]
cmp rdx, 0x10
jae 0x4f3c1e
mov byte [rsp + rax + 0x2b], sil
mov r8, qword [rsp + 0x268]
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x260]
xor r12d, r12d
xor edx, edx
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
jmp 0x4f32a0
mov rcx, qword [rdi + 0x18]
mov rax, rsi
call rcx
movups xmmword [rsp + 0x130], xmm15
movups xmmword [rsp + 0x140], xmm15
movups xmmword [rsp + 0x150], xmm15
mov rcx, qword [rsp + 0x260]
mov qword [rsp + 0x130], rcx
mov rcx, qword [rsp + 0x268]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x150], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x158], rcx
movups xmm0, xmmword [rsp + 0x130]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x140]
movups xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0x150]
movups xmmword [rsp + 0x240], xmm0
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
movups xmmword [rsp + 0x160], xmm15
movups xmmword [rsp + 0x170], xmm15
movups xmmword [rsp + 0x180], xmm15
mov qword [rsp + 0x160], r11
mov qword [rsp + 0x168], r8
lea rcx, [0x006d7df2]
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], 0x45
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0x188], r12
movups xmm0, xmmword [rsp + 0x160]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x170]
movups xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [rsp + 0x240], xmm0
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
nop
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
mov rcx, rdi
mov rax, rcx
jmp 0x4f32a0
movups xmmword [rsp + 0xa0], xmm15
movups xmmword [rsp + 0xb0], xmm15
movups xmmword [rsp + 0xc0], xmm15
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0xa8], r8
lea rcx, [0x006ca39e]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], 0x16
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r13
movups xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x240], xmm0
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
nop
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
movups xmmword [rsp + 0xd0], xmm15
movups xmmword [rsp + 0xe0], xmm15
movups xmmword [rsp + 0xf0], xmm15
mov qword [rsp + 0xd0], r11
mov qword [rsp + 0xd8], r8
lea rcx, [0x006d2953]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], 0x29
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], rsi
movups xmm0, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x240], xmm0
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
movups xmmword [rsp + 0x100], xmm15
movups xmmword [rsp + 0x110], xmm15
movups xmmword [rsp + 0x120], xmm15
mov qword [rsp + 0x100], r11
mov qword [rsp + 0x108], r8
lea rcx, [0x006cef29]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], 0x20
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x128], rsi
movups xmm0, xmmword [rsp + 0x100]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x110]
movups xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x240], xmm0
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
mov r12, rsi
mov rdx, r13
mov rcx, rdi
jmp 0x4f32a0
movups xmmword [rsp + 0x1c0], xmm15
movups xmmword [rsp + 0x1d0], xmm15
movups xmmword [rsp + 0x1e0], xmm15
mov qword [rsp + 0x1c0], r11
mov qword [rsp + 0x1c8], r8
lea rcx, [0x006d646a]
mov qword [rsp + 0x1d0], rcx
mov qword [rsp + 0x1d8], 0x37
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x1e8], r12
movups xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rsp + 0x240], xmm0
lea rax, [0x006a1c60]
lea rbx, [rsp + 0x220]
call fcn.0040a6e0
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742620]
mov rsi, rax
mov rax, rbx
add rsp, 0x250
pop rbp
ret
xor eax, eax
mov rcx, rax
call fcn.004601e0
mov rax, rbx
mov rcx, r12
call fcn.004602a0
mov rax, rdx
mov ecx, 0x10
call fcn.004601e0
mov rax, rdx
mov ecx, 0x10
call fcn.004601e0
mov rax, rbx
mov rcx, r12
nop
call fcn.004601e0
mov rcx, rdx
call fcn.004602a0
call fcn.00460220
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
nop dword [rax]
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004f2fc0