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

Disassembly:
lea r12, [rsp - 0xb8]
cmp r12, qword [r14 + 0x10]
jbe 0x5a9c15
sub rsp, 0x138
mov qword [rsp + 0x130], rbp
lea rbp, [rsp + 0x130]
mov rdx, qword [rax + 0x20]
mov qword [rsp + 0x28], rdx
mov rsi, qword [rax + 0x18]
mov qword [rsp + 0x60], rsi
mov r8, qword [rax + 0x30]
mov qword [rsp + 0xe8], r8
movups xmm0, xmmword [rax + 0x38]
movups xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rax + 0x48]
movups xmmword [rsp + 0x100], xmm0
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [rax + 0x68]
movups xmmword [rsp + 0x120], xmm0
mov r8, qword [rax + 0x78]
mov rbx, qword [rax + 0x80]
mov rcx, qword [rax + 0x88]
mov rdi, qword [rax + 0x90]
mov rax, r8
call fcn.0057e2e0
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], rcx
mov rdx, qword [0x008cb4e0]
mov rsi, qword [rsp + 0x28]
nop dword [rax]
cmp qword [0x008cb4e8], rsi
je 0x5a91b0
mov r8, qword [rsp + 0x60]
jmp 0x5a91d2
mov r8, qword [rsp + 0x60]
xor edi, edi
jmp 0x5a91c0
inc rdi
nop dword [rax]
cmp rdi, rsi
jge 0x5a91f4
mov r9, qword [r8 + rdi*8]
mov r10, qword [rdx + rdi*8]
cmp r10, r9
je 0x5a91b9
mov rdx, qword [0x008cb4a0]
nop dword [rax]
cmp qword [0x008cb4a8], rsi
jne 0x5a94ea
xor edi, edi
jmp 0x5a94d8
mov rbx, qword [0x008cb700]
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x118]
cmp qword [0x008cb708], rcx
jne 0x5a921d
call fcn.00402d80
test al, al
jne 0x5a9259
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x25
lea rcx, [0x006d70fd]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00698ee0]
call fcn.0040d960
mov qword [rsp + 0x80], rax
lea rax, [0x006981c0]
call fcn.0040d960
mov qword [rsp + 0x58], rax
cmp dword [0x0092b0b0], 0
jne 0x5a9294
mov rdx, qword [rsp + 0x80]
mov qword [rax], rdx
jmp 0x5a92a5
mov rdi, rax
mov rdx, qword [rsp + 0x80]
nop
call fcn.00465a20
lea rax, [rsp + 0xb8]
mov rbx, rax
mov ecx, 0x30
call fcn.00589c80
nop word [rax + rax]
test al, al
je 0x5a9495
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx]
lea rax, [rsp + 0xb8]
lea rbx, [0x006c6cc0]
nop
call fcn.00588840
test al, al
je 0x5a9457
mov rcx, qword [rsp + 0x58]
lea rdx, [rcx + 8]
lea rax, [rsp + 0xb8]
lea rbx, [0x00671400]
mov rcx, rdx
call fcn.00588840
test al, al
je 0x5a941b
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
cmp qword [rdx + 0x10], 0
jne 0x5a9328
xor eax, eax
jmp 0x5a9340
cmp byte [rdx], 0
je 0x5a9336
mov rax, 0xffffffffffffffff
jmp 0x5a9340
mov eax, 1
nop dword [rax + rax]
test rax, rax
jle 0x5a93df
cmp qword [rcx + 8], 0
jle 0x5a93a3
lea rax, [0x00697680]
call fcn.0040d960
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov rcx, qword [rcx]
cmp dword [0x0092b0b0], 0
jne 0x5a937a
mov qword [rax], rcx
jmp 0x5a9385
mov rdi, rax
nop dword [rax]
call fcn.00465a00
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x00688a80]
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x32
lea rcx, [0x006db39b]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x2a
lea rcx, [0x006d8cc1]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x21
lea rcx, [0x006d5558]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
nop
call fcn.0040d960
mov qword [rax + 8], 0x19
lea rcx, [0x006d1674]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
nop dword [rax]
call fcn.0040d960
mov qword [rax + 8], 0x1c
lea rcx, [0x006d2d7d]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
inc rdi
cmp rdi, rsi
jge 0x5a9505
mov r9, qword [r8 + rdi*8]
mov r10, qword [rdx + rdi*8]
cmp r10, r9
je 0x5a94d5
mov rdx, qword [0x008cb4c0]
cmp qword [0x008cb4c8], rsi
jne 0x5a9713
xor edi, edi
jmp 0x5a9701
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x128]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xd0], 0
movups xmmword [rsp + 0xd8], xmm15
lea rax, [rsp + 0xa0]
lea rbx, [rsp + 0xd0]
call fcn.00589540
nop
test al, al
je 0x5a96c2
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe0]
call fcn.005b6560
test rax, rax
je 0x5a9686
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
call fcn.0056fc00
test rax, rax
je 0x5a964a
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rbx
lea rax, [0x006b4ae0]
call fcn.0040d960
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
cmp dword [0x0092b0b0], 0
jne 0x5a9602
mov rdx, qword [rsp + 0x68]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rax + 0x18], rdx
jmp 0x5a962c
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0x68]
call fcn.00465a20
lea rdi, [rax + 0x10]
mov rdx, qword [rsp + 0x48]
call fcn.00465a20
lea rdi, [rax + 0x18]
mov rdx, qword [rsp + 0x40]
call fcn.00465a20
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x006acaa0]
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x2e
lea rcx, [0x006da147]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x20
lea rcx, [0x006d4d3a]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x1e
lea rcx, [0x006d3d1e]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
inc rdi
cmp rdi, rsi
jge 0x5a9734
mov r9, qword [r8 + rdi*8]
mov r10, qword [rdx + rdi*8]
cmp r10, r9
je 0x5a96fe
mov rdx, qword [0x008cb500]
nop word [rax + rax]
cmp qword [0x008cb508], rsi
jne 0x5a97f6
xor edi, edi
jmp 0x5a97e4
cmp qword [rsp + 0x120], 0
jne 0x5a97a5
nop
cmp rbx, 0x20
je 0x5a9782
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x23
lea rcx, [0x006d6352]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
call fcn.0040b060
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x00684780]
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x31
lea rcx, [0x006daf83]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
inc rdi
cmp rdi, rsi
jge 0x5a9814
mov r9, qword [r8 + rdi*8]
mov r10, qword [rdx + rdi*8]
cmp r10, r9
je 0x5a97e1
mov rcx, qword [0x008cb480]
nop dword [rax]
cmp qword [0x008cb488], rsi
jne 0x5a9893
xor eax, eax
jmp 0x5a98d2
cmp qword [rsp + 0x120], 0
je 0x5a985b
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x30
lea rcx, [0x006da9c8]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
mov rdx, qword [0x008ca4c0]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.0056e280
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
lea rax, [0x0068ee40]
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x22
lea rcx, [0x006d5cc3]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
inc rax
cmp rax, rsi
jge 0x5a98e7
mov rdx, qword [r8 + rax*8]
mov rbx, qword [rcx + rax*8]
nop
cmp rbx, rdx
je 0x5a98cf
jmp 0x5a9893
lea rax, [0x00698ee0]
call fcn.0040d960
mov qword [rsp + 0x38], rax
lea rbx, [0x006c6cc0]
mov rcx, rax
lea rax, [rsp + 0xb8]
call fcn.00588840
test al, al
je 0x5a9bd5
lea rax, [0x00698ee0]
nop
call fcn.0040d960
mov qword [rsp + 0x80], rax
lea rax, [0x00698ee0]
call fcn.0040d960
mov qword [rsp + 0x78], rax
lea rax, [0x00698ee0]
call fcn.0040d960
mov qword [rsp + 0x70], rax
lea rax, [0x00697220]
call fcn.0040d960
mov qword [rsp + 0x50], rax
cmp dword [0x0092b0b0], 0
jne 0x5a9991
mov rdx, qword [rsp + 0x38]
mov qword [rax + 0x18], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
jmp 0x5a99d3
lea rdi, [rax + 0x18]
mov rdx, qword [rsp + 0x38]
call fcn.00465a20
mov rdi, rax
mov rdx, qword [rsp + 0x80]
call fcn.00465a20
lea rdx, [rax + 8]
mov rdi, rdx
mov rsi, qword [rsp + 0x78]
nop dword [rax + rax]
call fcn.00465a60
lea rdi, [rax + 0x10]
mov rdx, qword [rsp + 0x70]
call fcn.00465a20
mov rdx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x128]
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rdi
lea rax, [rsp + 0x88]
mov rbx, rax
mov ecx, 0x30
call fcn.00589c80
test al, al
jne 0x5a9a23
mov eax, 1
jmp 0x5a9a6b
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx]
lea rax, [rsp + 0x88]
lea rbx, [0x006c6cc0]
call fcn.00588840
nop
test al, al
jne 0x5a9a4b
mov eax, 1
jmp 0x5a9a6b
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx + 8]
lea rax, [rsp + 0x88]
lea rbx, [0x006c6cc0]
call fcn.00588840
xor eax, 1
test al, al
jne 0x5a9b95
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx + 0x10]
lea rax, [rsp + 0x88]
lea rbx, [0x006c6cc0]
call fcn.00588840
test al, al
je 0x5a9b95
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rbx + 0x18]
cmp qword [rdx + 0x10], 0
jne 0x5a9aac
xor eax, eax
jmp 0x5a9ac0
cmp byte [rdx], 0
je 0x5a9aba
mov rax, 0xffffffffffffffff
jmp 0x5a9ac0
mov eax, 1
nop
test rax, rax
jle 0x5a9b3e
mov rdx, qword [rbx]
cmp qword [rdx + 0x10], 0
jne 0x5a9ad3
xor eax, eax
jmp 0x5a9ae7
cmp byte [rdx], 0
je 0x5a9ae2
mov rax, 0xffffffffffffffff
nop
jmp 0x5a9ae7
mov eax, 1
test rax, rax
jle 0x5a9b3e
mov rdx, qword [rbx + 8]
cmp qword [rdx + 0x10], 0
jne 0x5a9afb
xor eax, eax
jmp 0x5a9b10
cmp byte [rdx], 0
nop
je 0x5a9b0b
mov rax, 0xffffffffffffffff
jmp 0x5a9b10
mov eax, 1
test rax, rax
jle 0x5a9b3e
mov rdx, qword [rbx + 0x10]
cmp qword [rdx + 0x10], 0
nop
jne 0x5a9b26
xor eax, eax
jmp 0x5a9b39
cmp byte [rdx], 0
je 0x5a9b34
mov rax, 0xffffffffffffffff
jmp 0x5a9b39
mov eax, 1
test rax, rax
jg 0x5a9b7a
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x24
lea rcx, [0x006d6a7d]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00670300]
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
nop dword [rax]
call fcn.0040d960
mov qword [rax + 8], 0x1c
lea rcx, [0x006d2d45]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x00690f40]
nop dword [rax]
call fcn.0040d960
mov qword [rax + 8], 0x1c
lea rcx, [0x006d2d61]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00742c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
mov qword [rsp + 8], rax
call fcn.00463740
mov rax, qword [rsp + 8]
jmp fcn.005a90e0