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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x525259
sub rsp, 0x68
mov qword [rsp + 0x60], rbp
lea rbp, [rsp + 0x60]
mov rcx, qword [rax + 0x30]
nop dword [rax]
test rcx, rcx
je 0x525141
mov qword [rsp + 0x70], rax
mov rax, rcx
call fcn.00524f40
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rcx + 0x30]
mov qword [rcx + 0x30], 0
mov rbx, qword [rdx]
mov rsi, qword [rdx + 8]
test rbx, rbx
jne 0x525130
mov rsi, qword [rdx + 0x10]
mov rdi, qword [rdx + 0x18]
mov r8, qword [rdx + 0x40]
sub rdi, r8
mov r9, qword [rdx + 0x38]
sub rdi, r9
test rdi, rdi
jl 0x525245
mov qword [rsp + 0x38], rdx
cmp byte [rdx + 0x48], 0
nop
je 0x525124
cmp r8, 1
jne 0x52522e
mov r8d, 0xfffffffe
cmp r8, rdi
jl 0x5250fd
nop
cmp rdi, 0xffffff
jle 0x524ff5
mov eax, 0xffffff84
mov ebx, 5
jmp 0x52503c
cmp rdi, 0xffff
jle 0x52500a
mov eax, 0xffffff83
mov ebx, 4
jmp 0x52503c
cmp rdi, 0xff
jle 0x525020
mov eax, 0xffffff82
mov ebx, 3
jmp 0x52503c
cmp rdi, 0x7f
jle 0x525032
mov eax, 0xffffff81
mov ebx, 2
jmp 0x52503c
mov rax, rdi
mov ebx, 1
xor edi, edi
mov byte [rsi + r9], al
lea esi, [rbx - 1]
movzx ebx, sil
test rbx, rbx
je 0x5250f3
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rdi
lea rax, [0x005fe2e0]
mov rcx, rbx
call fcn.00448e60
mov rbx, rax
mov rcx, qword [rsp + 0x30]
mov rdi, rcx
mov rax, qword [rsp + 0x38]
call fcn.00525280
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rdx + 0x38]
add rsi, qword [rdx + 0x40]
mov rcx, qword [rdx + 0x18]
mov rdi, qword [rsp + 0x30]
lea r8, [rsi + rdi]
mov r9, rcx
sub rcx, r8
sub r9, rsi
cmp r9, rcx
cmovl rcx, r9
mov r9, qword [rdx + 0x10]
mov r10, qword [rdx + 0x20]
mov r11, r8
sub r8, r10
sar r8, 0x3f
and r11, r8
lea rax, [r11 + r9]
mov r8, rsi
sub rsi, r10
sar rsi, 0x3f
and r8, rsi
lea rbx, [r8 + r9]
cmp rbx, rax
je 0x5250e6
call fcn.00461f80
mov rdx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x70]
mov rbx, rdi
mov rdi, qword [rsp + 0x28]
inc qword [rdx + 0x38]
mov qword [rdx + 0x40], rbx
jmp 0x525124
lea rax, [0x0064e6c6]
mov ebx, 0x1c
call fcn.00468600
mov rcx, qword [rsp + 0x70]
mov qword [rcx], rax
mov qword [rcx + 8], rbx
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
mov rsi, qword [rdx + 0x40]
dec rsi
mov rax, rdi
jmp 0x525160
mov qword [rcx], rbx
mov qword [rcx + 8], rsi
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
mov r8, qword [rdx + 0x38]
add r8, rsi
add r8, qword [rdx + 0x10]
mov byte [r8], dil
dec rsi
sar rdi, 8
test rsi, rsi
jge 0x52514b
test rdi, rdi
jne 0x5251a1
cmp byte [rcx + 0x28], 0
je 0x52517e
mov rsi, qword [rdx + 0x10]
cmp qword [rcx + 0x10], rsi
jne 0x52521b
mov rax, qword [rdx + 0x10]
mov rbx, qword [rdx + 0x18]
mov rdx, qword [rdx + 0x20]
mov qword [rcx + 0x18], rbx
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x10], rax
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
nop
ret
movups xmmword [rsp + 0x40], xmm15
movups xmmword [rsp + 0x50], xmm15
call fcn.0040a7c0
lea rcx, [0x005fd960]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x38]
mov rax, qword [rdx + 0x40]
call fcn.0040a7c0
lea rcx, [0x005fd960]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
lea rax, [0x0065821b]
mov ebx, 0x41
lea rcx, [rsp + 0x40]
mov edi, 2
mov rsi, rdi
nop dword [rax + rax]
call fcn.004acb60
mov rcx, qword [rsp + 0x70]
mov qword [rcx], rax
mov qword [rcx + 8], rbx
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
lea rax, [0x005fe120]
lea rbx, [0x00685250]
call fcn.00436780
lea rax, [0x005fe120]
lea rbx, [0x00685290]
nop dword [rax]
call fcn.00436780
lea rax, [0x005fe120]
lea rbx, [0x00685290]
call fcn.00436780
nop
mov qword [rsp + 8], rax
nop
call fcn.0045f280
mov rax, qword [rsp + 8]
jmp fcn.00524f40