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

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x4fcd8e
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xb0], rsi
mov byte [rsp + 0xb8], r8b
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x98], rbx
test byte [rax], al
mov rdx, rsi
mov r9, rax
xor r10d, r10d
mov r11, rdx
mov r12d, 0xff
xor r13d, r13d
nop
jmp 0x4fca50
mov rsi, r9
mov r10, r15
mov r9, qword [rsp + 0x90]
cmp rcx, rsi
jle 0x4fcc46
jbe 0x4fcd85
movzx r15d, byte [rbx + rsi]
mov qword [rsp + 0x68], r15
and r15d, 0xc0
lea r9, [rsi + 1]
test r15, r15
jne 0x4fcae0
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x50], r10
mov r15, qword [rsp + 0x68]
test r15, r15
je 0x4fcb60
lea r8, [rsi + r15]
lea r8, [r8 + 1]
nop dword [rax]
cmp rcx, r8
jl 0x4fcb45
cmp rdi, r8
jb 0x4fcd78
cmp r8, r9
jb 0x4fcd6d
sub rdi, rsi
lea rsi, [rdi - 1]
neg rsi
sar rsi, 0x3f
and r9, rsi
add r9, rbx
xor esi, esi
jmp 0x4fcc68
cmp r15, 0xc0
jne 0x4fcc2f
test r8b, r8b
je 0x4fcc18
cmp rcx, r9
jle 0x4fcc01
nop
jbe 0x4fcc5d
lea r9, [rsi + 2]
lea r15, [r10 + 1]
movzx esi, byte [rsi + rbx + 1]
test r10, r10
cmove r11, r9
nop word [rax + rax]
cmp r15, 0xa
jg 0x4fcbe9
mov r9, qword [rsp + 0x68]
xor r9, 0xc0
shl r9, 8
or r9, rsi
nop dword [rax]
jmp 0x4fca42
mov rbx, qword [0x0089a7b0]
mov rcx, qword [0x0089a7b8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
test r13, r13
jne 0x4fcba6
test r12, r12
jne 0x4fcb9d
mov qword [rsp + 0x60], r9
mov ebx, 1
mov rcx, r12
mov rdi, rbx
lea rsi, [0x0066d1c0]
call fcn.00447aa0
mov rdx, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov byte [rax], 0x2e
mov r13d, 1
cmp r13, 0xfe
jle 0x4fcbc6
mov rbx, qword [0x0089a820]
mov rcx, qword [0x0089a828]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rdx, qword [rsp + 0x90]
mov byte [rdx + 0xff], r13b
test r10, r10
cmove r11, r9
mov rax, r11
xor ebx, ebx
xor ecx, ecx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x0089a7d0]
mov rcx, qword [0x0089a7d8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
nop
ret
mov rbx, qword [0x0089a7e0]
mov rcx, qword [0x0089a7e8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x0089a8a0]
mov rcx, qword [0x0089a8a8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x0089a7c0]
mov rcx, qword [0x0089a7c8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x0089a7a0]
mov rcx, qword [0x0089a7a8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rax, r9
call fcn.004601e0
inc rsi
cmp rsi, r15
jge 0x4fcc8f
movzx edi, byte [r9 + rsi]
cmp dil, 0x2e
jne 0x4fcc65
mov rbx, qword [0x0089a7f0]
mov rcx, qword [0x0089a7f8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov qword [rsp + 0x60], r8
lea rsi, [r13 + r15]
cmp r12, rsi
jae 0x4fccd2
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x40], r13
mov rbx, rsi
mov rcx, r12
mov rdi, r15
lea rsi, [0x0066d1c0]
call fcn.00447aa0
mov r9, qword [rsp + 0x78]
mov r13, qword [rsp + 0x40]
mov r15, qword [rsp + 0x68]
mov r12, rcx
mov rsi, rbx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rax
lea rdx, [rax + r13]
mov rbx, r9
mov rcx, r15
mov rax, rdx
call fcn.00460ba0
mov rbx, qword [rsp + 0x68]
inc rbx
mov rcx, qword [rsp + 0x48]
cmp rcx, rbx
jb 0x4fcd0c
mov rax, qword [rsp + 0x70]
jmp 0x4fcd25
mov rax, qword [rsp + 0x70]
mov edi, 1
lea rsi, [0x0066d1c0]
nop dword [rax]
call fcn.00447aa0
mov byte [rbx + rax - 1], 0x2e
mov rdx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
movzx r8d, byte [rsp + 0xb8]
mov r9, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov r13, rbx
mov r12, rcx
mov rcx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
jmp 0x4fca42
mov rax, r9
mov rcx, r8
call fcn.004602a0
mov rcx, r8
mov rdx, rdi
nop
call fcn.00460260
mov rax, rsi
call fcn.004601e0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
jmp fcn.004fc9e0