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

Disassembly:
lea r12, [rsp - 0x60]
cmp r12, qword [r14 + 0x10]
jbe 0x5a7ade
sub rsp, 0xe0
mov qword [rsp + 0xd8], rbp
lea rbp, [rsp + 0xd8]
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0xe8], rax
nop
jmp 0x5a721a
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0xf0]
mov r8, qword [rax + 0x2e0]
mov r9, qword [rax + 0x2e8]
mov r10, qword [rax + 0x2f0]
mov r11, qword [rax + 0x2f8]
mov r12, r9
sub r9, r11
nop dword [rax]
cmp r9, 4
jge 0x5a726c
xor ebx, ebx
call fcn.005a3160
test rax, rax
je 0x5a7202
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
nop
cmp r12, r11
jb 0x5a7ad2
mov r9, r11
sub r11, r10
sar r11, 0x3f
and r9, r11
movzx edi, byte [r8 + r9 + 1]
shl rdi, 0x10
movzx r10d, byte [r8 + r9 + 2]
shl r10, 8
or rdi, r10
movzx r8d, byte [r8 + r9 + 3]
or rdi, r8
mov qword [rsp + 0x30], rdi
cmp rdi, 0x10000
jle 0x5a7471
mov ebx, 0x50
call fcn.005a5e00
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
mov rax, qword [rsp + 0x30]
call fcn.0040af40
lea rcx, [0x00656f20]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rcx
lea rcx, [0x00718080]
mov qword [rsp + 0xd0], rcx
lea rax, [0x006b7bd6]
mov ebx, 0x45
lea rcx, [rsp + 0xb8]
mov edi, 2
mov rsi, rdi
call fcn.004f54c0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x80], rbx
mov rcx, rbx
mov rbx, rax
lea rax, [0x0066e1e0]
call fcn.0040b260
test rax, rax
jne 0x5a73a7
mov rdx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x178], rdx
cmp dword [0x008f2cf0], 0
jne 0x5a7385
mov rdx, qword [rsp + 0x80]
mov qword [rdi + 0x180], rdx
jmp 0x5a7432
lea rdx, [rdi + 0x180]
mov rax, rdi
mov rdi, rdx
mov rsi, qword [rsp + 0x80]
call fcn.00465600
mov rdi, rax
jmp 0x5a7432
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x50], rax
lea rax, [0x0066de60]
nop dword [rax + rax]
call fcn.0040d960
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
cmp dword [0x008f2cf0], 0
jne 0x5a73e4
mov rdx, qword [rsp + 0x98]
mov qword [rax + 8], rdx
jmp 0x5a73f5
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0x98]
call fcn.004655c0
lea rdx, [0x00719180]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x178], rdx
cmp dword [0x008f2cf0], 0
jne 0x5a741d
mov qword [rdi + 0x180], rax
jmp 0x5a7432
lea rdx, [rdi + 0x180]
mov rcx, rdi
mov rdi, rdx
call fcn.004654a0
mov rdi, rcx
mov rcx, qword [rdi + 0x178]
mov rdi, qword [rdi + 0x180]
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x30]
lea r8, [rdi + 4]
mov r9, qword [rax + 0x2e8]
sub r9, qword [rax + 0x2f8]
cmp r9, r8
jge 0x5a74ae
xor ebx, ebx
call fcn.005a3160
test rax, rax
je 0x5a7454
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
nop
mov byte [rax + 0x300], 0
mov r9, qword [rax + 0x2e8]
mov r10, qword [rax + 0x2f8]
sub r9, r10
cmp r9, r8
cmovl r8, r9
nop
lea r9, [r8 + r10]
mov rdx, qword [rax + 0x2f0]
mov r11, qword [rax + 0x2e0]
cmp rdx, r9
jb 0x5a7aca
cmp r10, r9
ja 0x5a7abf
mov qword [rax + 0x2f8], r9
mov r9, r10
sub r10, rdx
sar r10, 0x3f
and r9, r10
lea rdx, [r11 + r9]
test r8, r8
jle 0x5a7517
mov byte [rax + 0x300], 0xff
jbe 0x5a7ab5
movzx r9d, byte [r11 + r9]
cmp r9, 0x18
ja 0x5a798d
mov qword [rsp + 0x28], r8
mov qword [rsp + 0xa0], rdx
lea rsi, [0x0071ca20]
jmp qword [rsi + r9*8]
mov ebx, 0xa
call fcn.005a5fe0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x78], rbx
mov rcx, rbx
mov rbx, rax
lea rax, [0x0066e1e0]
call fcn.0040b260
test rax, rax
jne 0x5a7a0d
mov rdx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x178], rdx
cmp dword [0x008f2cf0], 0
jne 0x5a79ec
mov rdx, qword [rsp + 0x78]
mov qword [rdi + 0x180], rdx
jmp 0x5a7a93
lea rdx, [rdi + 0x180]
mov rax, rdi
mov rdi, rdx
mov rsi, qword [rsp + 0x78]
nop
call fcn.00465600
mov rdi, rax
jmp 0x5a7a93
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x48], rax
lea rax, [0x0066de60]
call fcn.0040d960
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
cmp dword [0x008f2cf0], 0
jne 0x5a7a45
mov rdx, qword [rsp + 0x90]
mov qword [rax + 8], rdx
jmp 0x5a7a56
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0x90]
call fcn.004655c0
lea rdx, [0x00719180]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x178], rdx
cmp dword [0x008f2cf0], 0
jne 0x5a7a7e
mov qword [rdi + 0x180], rax
jmp 0x5a7a93
lea rdx, [rdi + 0x180]
mov rcx, rdi
mov rdi, rdx
call fcn.004654a0
mov rdi, rcx
mov rcx, qword [rdi + 0x178]
mov rdi, qword [rdi + 0x180]
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
xor eax, eax
mov rcx, rax
call fcn.00465940
mov rax, r10
mov rcx, r9
call fcn.00465a00
mov rcx, r9
call fcn.004659c0
mov rax, r11
mov rcx, r12
call fcn.00465a00
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004632e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.005a71c0