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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4ff5ff
push rbp
mov rbp, rsp
sub rsp, 0x38
mov qword [rsp + 0x68], r8
test dil, dil
je 0x4ff104
test rbx, rbx
setl dl
jmp 0x4ff106
xor edx, edx
test dl, dl
je 0x4ff10d
neg rbx
mov byte [rsp + 0x27], dl
mov qword [rsp + 0x48], rax
lea r10, [rax + 0x28]
cmp byte [rax + 8], 0
nop
jne 0x4ff128
cmp byte [rax + 9], 0
je 0x4ff19d
mov r11, qword [rax + 0x18]
add r11, qword [rax + 0x20]
add r11, 3
cmp r11, 0x44
jg 0x4ff142
mov edi, 0x44
nop
jmp 0x4ff1a2
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x64], esi
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x30], rbx
lea rax, [0x00e85920]
mov rbx, r11
mov rcx, rbx
call fcn.004539a0
mov rcx, qword [rsp + 0x58]
movzx edx, byte [rsp + 0x27]
mov rbx, qword [rsp + 0x30]
mov esi, dword [rsp + 0x64]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x28]
mov r10, rax
mov rax, qword [rsp + 0x48]
jmp 0x4ff1a2
mov edi, 0x44
cmp byte [rax + 9], 0
je 0x4ff1de
mov r11, qword [rax + 0x20]
test r11, r11
jne 0x4ff206
test rbx, rbx
jne 0x4ff206
movzx ecx, byte [rax + 0xe]
mov byte [rsp + 0x26], cl
mov byte [rax + 0xe], 0
mov rbx, qword [rax + 0x18]
call fcn.004fe620
movzx ecx, byte [rsp + 0x26]
mov rdx, qword [rsp + 0x48]
mov byte [rdx + 0xe], cl
add rsp, 0x38
pop rbp
ret
cmp byte [rax + 0xe], 0
je 0x4ff203
cmp byte [rax + 8], 0
je 0x4ff203
mov r11, qword [rax + 0x18]
test dl, dl
jne 0x4ff1fe
cmp byte [rax + 0xb], 0
jne 0x4ff1fe
cmp byte [rax + 0xd], 0
je 0x4ff206
dec r11
jmp 0x4ff206
xor r11d, r11d
cmp rcx, 8
jg 0x4ff232
cmp rcx, 2
jne 0x4ff220
mov r12, rdi
jmp 0x4ff5e0
cmp rcx, 8
jne 0x4ff52a
mov r12, rdi
jmp 0x4ff5a7
cmp rcx, 0xa
jne 0x4ff245
mov r12, rdi
nop dword [rax + rax]
jmp 0x4ff554
cmp rcx, 0x10
jne 0x4ff52a
mov r12, rdi
jmp 0x4ff263
mov byte [rdi + r10 - 1], bl
shr r13, 4
mov rbx, r13
mov rdi, r15
cmp rbx, 0x10
jb 0x4ff28b
mov r13, rbx
and ebx, 0xf
cmp r9, rbx
jbe 0x4ff51f
lea r15, [rdi - 1]
movzx ebx, byte [r8 + rbx]
cmp r12, r15
ja 0x4ff254
jmp 0x4ff514
cmp r9, rbx
jbe 0x4ff509
lea r13, [rdi - 1]
movzx r15d, byte [r8 + rbx]
nop dword [rax]
cmp r12, r13
jbe 0x4ff4fe
mov byte [rdi + r10 - 1], r15b
jmp 0x4ff2c0
mov byte [r13 + r10 - 1], 0x30
dec r13
mov r12, rdi
nop dword [rax]
test r13, r13
jle 0x4ff2d2
mov rdi, r12
sub r12, r13
cmp r11, r12
jg 0x4ff2b0
jmp 0x4ff2d5
mov rdi, r12
cmp byte [rax + 0xc], 0
je 0x4ff39b
nop
cmp rcx, 2
jne 0x4ff314
lea r8, [r13 - 1]
cmp rdi, r8
jbe 0x4ff4f3
mov byte [r13 + r10 - 1], 0x62
lea r8, [r13 - 2]
nop dword [rax]
cmp rdi, r8
jbe 0x4ff4e8
mov byte [r13 + r10 - 2], 0x30
jmp 0x4ff3a0
cmp rcx, 8
jne 0x4ff356
nop word [rax + rax]
cmp r13, rdi
jae 0x4ff4dd
movzx r8d, byte [r13 + r10]
cmp r8b, 0x30
je 0x4ff351
lea r8, [r13 - 1]
nop dword [rax]
cmp rdi, r8
jbe 0x4ff4d2
mov byte [r13 + r10 - 1], 0x30
jmp 0x4ff3a0
mov r8, r13
jmp 0x4ff3a0
cmp rcx, 0x10
jne 0x4ff396
nop dword [rax]
cmp r9, 0x10
jbe 0x4ff4c5
lea r9, [r13 - 1]
cmp rdi, r9
jbe 0x4ff4b5
movzx r8d, byte [r8 + 0x10]
mov byte [r13 + r10 - 1], r8b
lea r8, [r13 - 2]
cmp rdi, r8
jbe 0x4ff4aa
mov byte [r13 + r10 - 2], 0x30
jmp 0x4ff3a0
mov r8, r13
jmp 0x4ff3a0
mov r8, r13
nop
cmp esi, 0x4f
jne 0x4ff3d3
lea rsi, [r8 - 1]
cmp rdi, rsi
jbe 0x4ff49f
mov byte [r8 + r10 - 1], 0x6f
lea rsi, [r8 - 2]
nop dword [rax]
cmp rdi, rsi
jbe 0x4ff494
mov byte [r8 + r10 - 2], 0x30
test dl, dl
jmp 0x4ff3d8
test dl, dl
mov rsi, r8
je 0x4ff3f1
lea rdx, [rsi - 1]
nop
cmp rdi, rdx
jbe 0x4ff489
mov byte [rsi + r10 - 1], 0x2d
jmp 0x4ff427
cmp byte [rax + 0xb], 0
je 0x4ff40d
lea rdx, [rsi - 1]
nop dword [rax + rax]
cmp rdi, rdx
jbe 0x4ff47e
mov byte [rsi + r10 - 1], 0x2b
jmp 0x4ff427
cmp byte [rax + 0xd], 0
je 0x4ff424
lea rdx, [rsi - 1]
cmp rdi, rdx
jbe 0x4ff473
mov byte [rsi + r10 - 1], 0x20
jmp 0x4ff427
mov rdx, rsi
movzx esi, byte [rax + 0xe]
mov byte [rax + 0xe], 0
cmp rdx, rdi
ja 0x4ff468
mov byte [rsp + 0x25], sil
sub rdi, rdx
mov rcx, rdi
neg rdi
sar rdi, 0x3f
and rdx, rdi
lea rbx, [r10 + rdx]
mov rdi, rcx
call fcn.004fe7a0
movzx edx, byte [rsp + 0x25]
mov rsi, qword [rsp + 0x48]
mov byte [rsi + 0xe], dl
add rsp, 0x38
pop rbp
ret
mov rax, rdx
mov rcx, rdi
call fcn.00472960
mov rax, rdx
mov rcx, rdi
call fcn.004728a0
mov rax, rdx
mov rcx, rdi
call fcn.004728a0
mov rax, rdx
mov rcx, rdi
call fcn.004728a0
mov rax, rsi
mov rcx, rdi
call fcn.004728a0
mov rax, rsi
mov rcx, rdi
call fcn.004728a0
mov rax, r8
mov rcx, rdi
call fcn.004728a0
mov rax, r9
mov rcx, rdi
nop dword [rax + rax]
call fcn.004728a0
mov eax, 0x10
mov rcx, r9
call fcn.004728a0
mov rax, r8
mov rcx, rdi
call fcn.004728a0
mov rax, r13
mov rcx, rdi
call fcn.004728a0
mov rax, r8
mov rcx, rdi
call fcn.004728a0
mov rax, r8
mov rcx, rdi
call fcn.004728a0
mov rax, r13
mov rcx, r12
call fcn.004728a0
mov rax, rbx
mov rcx, r9
call fcn.004728c0
mov rax, r15
mov rcx, r12
call fcn.004728a0
mov rax, rbx
mov rcx, r9
call fcn.004728c0
lea rax, [0x00e855e0]
lea rbx, [0x01418b40]
call fcn.0043d500
lea rax, [rbx + 0x30]
mov byte [rdi + r10 - 1], al
mov rax, r15
mov rbx, rdx
mov rdi, r13
movzx edx, byte [rsp + 0x27]
cmp rbx, 0xa
jb 0x4ff28b
lea r13, [rdi - 1]
mov r15, rax
movabs rax, 0xcccccccccccccccd
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*4]
shl rax, 1
sub rbx, rax
cmp r12, r13
ja 0x4ff53d
mov rax, r13
mov rcx, r12
call fcn.004728a0
mov r15, rbx
and r15d, 7
add r15, 0x30
mov byte [rdi + r10 - 1], r15b
shr rbx, 3
mov rdi, r13
cmp rbx, 8
jb 0x4ff28b
lea r13, [rdi - 1]
cmp r12, r13
ja 0x4ff590
mov rax, r13
mov rcx, r12
call fcn.004728a0
mov r15, rbx
and r15d, 1
add r15, 0x30
mov byte [rdi + r10 - 1], r15b
shr rbx, 1
mov rdi, r13
nop dword [rax + rax]
cmp rbx, 2
jb 0x4ff28b
lea r13, [rdi - 1]
cmp r12, r13
ja 0x4ff5c5
mov rax, r13
mov rcx, r12
call fcn.004728a0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
mov dword [rsp + 0x24], esi
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r9
call fcn.004705e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
mov esi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
jmp fcn.004ff0e0