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

Disassembly:
lea r12, [rsp - 0xb8]
cmp r12, qword [r14 + 0x10]
jbe 0x58b035
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.00530580
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], rcx
mov rdx, qword [0x009a3d10]
mov rsi, qword [rsp + 0x28]
nop dword [rax]
cmp qword [0x009a3d18], rsi
je 0x58a5d0
mov r8, qword [rsp + 0x60]
jmp 0x58a5f2
mov r8, qword [rsp + 0x60]
xor edi, edi
jmp 0x58a5e0
inc rdi
nop dword [rax]
cmp rdi, rsi
jge 0x58a614
mov r9, qword [r8 + rdi*8]
mov r10, qword [rdx + rdi*8]
cmp r10, r9
je 0x58a5d9
mov rdx, qword [0x009a3cd0]
nop dword [rax]
cmp qword [0x009a3cd8], rsi
jne 0x58a90a
xor edi, edi
jmp 0x58a8f8
mov rbx, qword [0x009a3f30]
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x118]
cmp qword [0x009a3f38], rcx
jne 0x58a63d
call fcn.00402d80
test al, al
jne 0x58a679
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x25
lea rcx, [0x00729b17]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006e38a0]
call fcn.0040daa0
mov qword [rsp + 0x80], rax
lea rax, [0x006e18c0]
call fcn.0040daa0
mov qword [rsp + 0x58], rax
cmp dword [0x00a04ed0], 0
jne 0x58a6b4
mov rdx, qword [rsp + 0x80]
mov qword [rax], rdx
jmp 0x58a6c5
mov rdi, rax
mov rdx, qword [rsp + 0x80]
nop
call fcn.00465b40
lea rax, [rsp + 0xb8]
mov rbx, rax
mov ecx, 0x30
call fcn.0053bf20
nop word [rax + rax]
test al, al
je 0x58a8b5
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx]
lea rax, [rsp + 0xb8]
lea rbx, [0x00716b40]
nop
call fcn.0053aae0
test al, al
je 0x58a877
mov rcx, qword [rsp + 0x58]
lea rdx, [rcx + 8]
lea rax, [rsp + 0xb8]
lea rbx, [0x006b26e0]
mov rcx, rdx
call fcn.0053aae0
test al, al
je 0x58a83b
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
cmp qword [rdx + 0x10], 0
jne 0x58a748
xor eax, eax
jmp 0x58a760
cmp byte [rdx], 0
je 0x58a756
mov rax, 0xffffffffffffffff
jmp 0x58a760
mov eax, 1
nop dword [rax + rax]
test rax, rax
jle 0x58a7ff
cmp qword [rcx + 8], 0
jle 0x58a7c3
lea rax, [0x006e0d80]
call fcn.0040daa0
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov rcx, qword [rcx]
cmp dword [0x00a04ed0], 0
jne 0x58a79a
mov qword [rax], rcx
jmp 0x58a7a5
mov rdi, rax
nop dword [rax]
call fcn.00465b20
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x006cf260]
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x32
lea rcx, [0x0072e573]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x2a
lea rcx, [0x0072bb32]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x21
lea rcx, [0x00727d7c]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
nop
call fcn.0040daa0
mov qword [rax + 8], 0x19
lea rcx, [0x007235ea]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
nop dword [rax]
call fcn.0040daa0
mov qword [rax + 8], 0x1c
lea rcx, [0x00725190]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
inc rdi
cmp rdi, rsi
jge 0x58a925
mov r9, qword [r8 + rdi*8]
mov r10, qword [rdx + rdi*8]
cmp r10, r9
je 0x58a8f5
mov rdx, qword [0x009a3cf0]
cmp qword [0x009a3cf8], rsi
jne 0x58ab33
xor edi, edi
jmp 0x58ab21
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.0053b7e0
nop
test al, al
je 0x58aae2
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe0]
call fcn.00597980
test rax, rax
je 0x58aaa6
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.00521ea0
test rax, rax
je 0x58aa6a
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rbx
lea rax, [0x007026a0]
call fcn.0040daa0
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
cmp dword [0x00a04ed0], 0
jne 0x58aa22
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 0x58aa4c
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0x68]
call fcn.00465b40
lea rdi, [rax + 0x10]
mov rdx, qword [rsp + 0x48]
call fcn.00465b40
lea rdi, [rax + 0x18]
mov rdx, qword [rsp + 0x40]
call fcn.00465b40
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x006f9b00]
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x2e
lea rcx, [0x0072d16f]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x20
lea rcx, [0x00727498]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x1e
lea rcx, [0x0072637e]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
inc rdi
cmp rdi, rsi
jge 0x58ab54
mov r9, qword [r8 + rdi*8]
mov r10, qword [rdx + rdi*8]
cmp r10, r9
je 0x58ab1e
mov rdx, qword [0x009a3d30]
nop word [rax + rax]
cmp qword [0x009a3d38], rsi
jne 0x58ac16
xor edi, edi
jmp 0x58ac04
cmp qword [rsp + 0x120], 0
jne 0x58abc5
nop
cmp rbx, 0x20
je 0x58aba2
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x23
lea rcx, [0x00728bff]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
call fcn.0040b1a0
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x006c9f00]
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x31
lea rcx, [0x0072e15b]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
inc rdi
cmp rdi, rsi
jge 0x58ac34
mov r9, qword [r8 + rdi*8]
mov r10, qword [rdx + rdi*8]
cmp r10, r9
je 0x58ac01
mov rcx, qword [0x009a3cb0]
nop dword [rax]
cmp qword [0x009a3cb8], rsi
jne 0x58acb3
xor eax, eax
jmp 0x58acf2
cmp qword [rsp + 0x120], 0
je 0x58ac7b
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x30
lea rcx, [0x0072db0d]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
mov rdx, qword [0x009a2ce0]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.00507e00
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
lea rax, [0x006d5e00]
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x22
lea rcx, [0x0072854d]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
inc rax
cmp rax, rsi
jge 0x58ad07
mov rdx, qword [r8 + rax*8]
mov rbx, qword [rcx + rax*8]
nop
cmp rbx, rdx
je 0x58acef
jmp 0x58acb3
lea rax, [0x006e38a0]
call fcn.0040daa0
mov qword [rsp + 0x38], rax
lea rbx, [0x00716b40]
mov rcx, rax
lea rax, [rsp + 0xb8]
call fcn.0053aae0
test al, al
je 0x58aff5
lea rax, [0x006e38a0]
nop
call fcn.0040daa0
mov qword [rsp + 0x80], rax
lea rax, [0x006e38a0]
call fcn.0040daa0
mov qword [rsp + 0x78], rax
lea rax, [0x006e38a0]
call fcn.0040daa0
mov qword [rsp + 0x70], rax
lea rax, [0x006e0920]
call fcn.0040daa0
mov qword [rsp + 0x50], rax
cmp dword [0x00a04ed0], 0
jne 0x58adb1
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 0x58adf3
lea rdi, [rax + 0x18]
mov rdx, qword [rsp + 0x38]
call fcn.00465b40
mov rdi, rax
mov rdx, qword [rsp + 0x80]
call fcn.00465b40
lea rdx, [rax + 8]
mov rdi, rdx
mov rsi, qword [rsp + 0x78]
nop dword [rax + rax]
call fcn.00465b80
lea rdi, [rax + 0x10]
mov rdx, qword [rsp + 0x70]
call fcn.00465b40
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.0053bf20
test al, al
jne 0x58ae43
mov eax, 1
jmp 0x58ae8b
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx]
lea rax, [rsp + 0x88]
lea rbx, [0x00716b40]
call fcn.0053aae0
nop
test al, al
jne 0x58ae6b
mov eax, 1
jmp 0x58ae8b
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx + 8]
lea rax, [rsp + 0x88]
lea rbx, [0x00716b40]
call fcn.0053aae0
xor eax, 1
test al, al
jne 0x58afb5
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx + 0x10]
lea rax, [rsp + 0x88]
lea rbx, [0x00716b40]
call fcn.0053aae0
test al, al
je 0x58afb5
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rbx + 0x18]
cmp qword [rdx + 0x10], 0
jne 0x58aecc
xor eax, eax
jmp 0x58aee0
cmp byte [rdx], 0
je 0x58aeda
mov rax, 0xffffffffffffffff
jmp 0x58aee0
mov eax, 1
nop
test rax, rax
jle 0x58af5e
mov rdx, qword [rbx]
cmp qword [rdx + 0x10], 0
jne 0x58aef3
xor eax, eax
jmp 0x58af07
cmp byte [rdx], 0
je 0x58af02
mov rax, 0xffffffffffffffff
nop
jmp 0x58af07
mov eax, 1
test rax, rax
jle 0x58af5e
mov rdx, qword [rbx + 8]
cmp qword [rdx + 0x10], 0
jne 0x58af1b
xor eax, eax
jmp 0x58af30
cmp byte [rdx], 0
nop
je 0x58af2b
mov rax, 0xffffffffffffffff
jmp 0x58af30
mov eax, 1
test rax, rax
jle 0x58af5e
mov rdx, qword [rbx + 0x10]
cmp qword [rdx + 0x10], 0
nop
jne 0x58af46
xor eax, eax
jmp 0x58af59
cmp byte [rdx], 0
je 0x58af54
mov rax, 0xffffffffffffffff
jmp 0x58af59
mov eax, 1
test rax, rax
jg 0x58af9a
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x24
lea rcx, [0x007293de]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006b0860]
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
nop dword [rax]
call fcn.0040daa0
mov qword [rax + 8], 0x1c
lea rcx, [0x00725158]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
lea rax, [0x006d8800]
nop dword [rax]
call fcn.0040daa0
mov qword [rax + 8], 0x1c
lea rcx, [0x00725174]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007f1c00]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x130]
add rsp, 0x138
ret
mov qword [rsp + 8], rax
call fcn.00463860
mov rax, qword [rsp + 8]
jmp fcn.0058a500