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

Disassembly:
lea r12, [rsp - 0xc8]
cmp r12, qword [r14 + 0x10]
jbe 0x5a9167
sub rsp, 0x148
mov qword [rsp + 0x140], rbp
lea rbp, [rsp + 0x140]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x160], rcx
mov rdx, qword [rax]
mov qword [rsp + 0xa0], rdx
mov rax, rdx
mov ebx, 1
call fcn.0059d4e0
nop dword [rax]
test rax, rax
jne 0x5a9054
mov rax, qword [rsp + 0xa0]
call fcn.005a1300
test rcx, rcx
jne 0x5a903e
lea rdx, [0x00677ca0]
cmp rax, rdx
jne 0x5a8ed0
mov rcx, rbx
jmp 0x5a8ed8
mov rcx, rbx
mov ebx, 0
mov qword [rsp + 0x98], rbx
jne 0x5a8f9a
mov rsi, qword [rsp + 0x150]
mov rdx, qword [rsi + 0x30]
mov qword [rsp + 0xd8], rdx
lea rdx, [rsi + 0x38]
lea rdi, [rsp + 0xe0]
mov rax, rsi
mov rsi, rdx
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004660ec
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rax + 0x98]
mov rbx, qword [rax + 0xa0]
mov rcx, qword [rax + 0xa8]
mov qword [rsp], rdx
lea rdi, [rsp + 8]
lea rsi, [rsp + 0xe0]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004660ec
mov rbp, qword [rbp]
mov rax, r8
call fcn.005c6300
mov rdx, qword [rsp + 0x98]
mov r8, qword [rdx + 0x18]
cmp qword [rdx + 0x20], rbx
jne 0x5a9064
xor ecx, ecx
xor esi, esi
jmp 0x5a90c8
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa8], rcx
mov rax, qword [rsp + 0xa0]
mov ebx, 0xa
call fcn.005a0360
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xc0], rcx
lea rcx, [0x00677ca0]
mov qword [rsp + 0xc8], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xd0], rcx
lea rax, [0x006ccb1e]
mov ebx, 0x49
lea rcx, [rsp + 0xb8]
mov edi, 2
mov rsi, rdi
call fcn.004f0a80
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rax, rcx
mov rbx, rdi
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rax, qword [rsp + 0xa0]
mov ebx, 0x28
call fcn.005a0360
lea rax, [0x0067fd60]
nop dword [rax]
call fcn.0040da20
mov qword [rax + 8], 0x2c
lea rcx, [0x006c82bc]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0072e7e0]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
lea rdi, [rcx + 1]
movzx r9d, byte [rcx + rax]
movzx r10d, byte [rcx + r8]
xor r9d, r10d
or esi, r9d
mov rcx, rdi
cmp rbx, rcx
jg 0x5a90b1
nop
movzx ecx, sil
dec ecx
shr ecx, 0x1f
cmp rcx, 1
jne 0x5a9064
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x80], rbx
mov rax, rdx
call fcn.005c0d40
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x160]
cmp rdx, rsi
cmovl rsi, rdx
mov qword [rsp + 0x88], rsi
mov rdx, qword [rsp + 0x150]
add rdx, 0x30
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.005c5f80
mov rbx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x158]
cmp rbx, rax
je 0x5a9153
mov rcx, qword [rsp + 0x88]
call fcn.00466460
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
nop dword [rax + rax]
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.005a8e40