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

Disassembly:
lea r12, [rsp - 0xb8]
cmp r12, qword [r14 + 0x10]
jbe 0x5aaf86
push rbp
mov rbp, rsp
sub rsp, 0x130
cmp qword [rax + 8], 0
je 0x5aa8b0
mov qword [rsp + 0x198], rax
xor ecx, ecx
jmp 0x5aa8da
mov rdi, qword [0x0089a6c0]
mov rsi, qword [0x0089a6c8]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x130
pop rbp
ret
lea rcx, [rdi + 1]
mov rax, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x150]
test rbx, rbx
je 0x5aa8ed
mov rsi, qword [rbx + 0x10]
jmp 0x5aa8ef
xor esi, esi
cmp rcx, rsi
jge 0x5aa9cd
mov rsi, qword [rbx + 0x10]
nop
nop dword [rax]
cmp rcx, rsi
jae 0x5aaf7a
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0x98], rcx
mov rax, qword [rbx + 8]
lea rsi, [rcx + rcx*4]
mov rdx, qword [rax + rsi*8 + 0x20]
mov rax, qword [rdx]
call rax
mov rsi, qword [rsp + 0xd0]
mov rsi, qword [rsi + 0x10]
mov rdi, qword [rsp + 0x98]
nop
cmp rdi, rsi
jae 0x5aaf6f
test rbx, rbx
jne 0x5aa977
cmp qword [rax + 8], 0
jne 0x5aa8ce
mov rdi, qword [0x0089a6c0]
mov rsi, qword [0x0089a6c8]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x130
pop rbp
ret
movups xmmword [rsp + 0x120], xmm15
je 0x5aa986
mov rbx, qword [rbx + 8]
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], rcx
lea rax, [0x006d3911]
mov ebx, 0x2c
lea rcx, [rsp + 0x120]
mov edi, 1
mov rsi, rdi
call fcn.004bfac0
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0x130
pop rbp
ret
call fcn.005a5ba0
mov rcx, qword [rsp + 0x158]
test rcx, rcx
jne 0x5aa9f8
nop
test rax, rax
je 0x5aad36
cmp byte [rax + 0x28], 0
jne 0x5aad36
test rcx, rcx
je 0x5aaa3b
cmp byte [rcx + 0x28], 0
je 0x5aaa3b
mov rax, qword [rsp + 0x198]
lea rbx, [rsp + 0x140]
call fcn.005a6ec0
test rdi, rdi
je 0x5aaa32
mov rdx, qword [rsp + 0x158]
test rdx, rdx
je 0x5aaa2b
mov rdx, qword [rdx + 0x10]
jmp 0x5aaa2d
xor edx, edx
test rdx, rdx
jne 0x5aaa3b
add rsp, 0x130
pop rbp
ret
cmp qword [rsp + 0x158], 0
jne 0x5aaa5c
call fcn.005a5ba0
mov qword [rsp + 0x158], rax
test rax, rax
je 0x5aace1
mov rax, qword [rsp + 0x198]
xor ebx, ebx
xor ecx, ecx
mov rdi, rbx
mov rsi, rbx
lea r8, [rsp + 0x140]
call fcn.005a9640
nop dword [rax + rax]
test rax, rax
jne 0x5aaccb
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x5aaab4
mov rbx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x198]
call fcn.005ac580
test rax, rax
jne 0x5aacb5
mov rdx, qword [rsp + 0x158]
nop dword [rax]
test rdx, rdx
jne 0x5aaac9
xor edx, edx
jmp 0x5aab30
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0x198]
mov rax, qword [rdx]
mov rbx, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
call fcn.0058c840
movups xmm0, xmmword [rsp]
movups xmmword [rsp + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0xc]
movups xmmword [rsp + 0x68], xmm0
movups xmm0, xmmword [rsp + 0x5c]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rsp + 0x4c], xmm0
mov rdx, qword [rsp + 0xc8]
mov rbx, qword [rdx + 0x20]
lea rax, [0x0067cfa0]
lea rcx, [rsp + 0x40]
call fcn.0040e360
movzx edx, byte [rax]
test dl, dl
je 0x5aabb9
lea rax, [0x00674c00]
nop
call fcn.0040d480
mov qword [rsp + 0xe8], rax
lea rax, [0x00674ba0]
call fcn.0040d480
cmp dword [0x0092d940], 0
jne 0x5aab74
mov rdx, qword [rsp + 0x198]
mov r8, qword [rsp + 0xe8]
jmp 0x5aab97
call fcn.0045fe60
mov rdx, qword [rsp + 0x198]
mov qword [r11], rdx
mov qword [r11 + 8], rax
mov r8, qword [rsp + 0xe8]
mov r9, qword [r8]
mov qword [r11 + 0x10], r9
mov qword [rax], rdx
mov qword [r8 + 8], 1
mov qword [r8 + 0x10], 1
mov qword [r8], rax
mov ebx, 1
mov ecx, 1
jmp 0x5aac1c
lea rax, [0x00674ba0]
call fcn.0040d480
cmp dword [0x0092d940], 0
jne 0x5aabd8
mov rdx, qword [rsp + 0x198]
jmp 0x5aabe8
call fcn.0045fe20
mov rdx, qword [rsp + 0x198]
mov qword [r11], rdx
mov qword [rax], rdx
mov rbx, rax
mov ecx, 1
mov rdi, rcx
xor esi, esi
lea r8, [rsp + 0x140]
mov rax, rdx
call fcn.005ab420
test rdi, rdi
jne 0x5aaca5
mov rdx, qword [rsp + 0x198]
mov r8, rax
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xb8], r8
cmp qword [rsp + 0x180], 0
jne 0x5aac8c
mov qword [rsp + 0x80], rcx
lea rax, [0x00672ce0]
call fcn.0040d480
mov qword [rax], 1
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], 1
mov qword [rsp + 0x188], 1
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x178]
mov r10, qword [rsp + 0x180]
xor eax, eax
nop
jmp 0x5aad57
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x130
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0x130
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0x130
pop rbp
ret
movups xmmword [rsp + 0x110], xmm15
mov rcx, qword [0x008a6b00]
mov rdx, qword [0x008a6b08]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdx
lea rax, [0x00695700]
lea rbx, [rsp + 0x110]
call fcn.0040a6e0
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x00742560]
mov rsi, rax
xor eax, eax
add rsp, 0x130
pop rbp
ret
mov rax, qword [rsp + 0x198]
lea rbx, [rsp + 0x140]
call fcn.005a6ec0
add rsp, 0x130
pop rbp
ret
inc rax
cmp rax, r10
jge 0x5aad75
mov r11, qword [r9 + rax*8]
test r11, r11
jne 0x5aad54
mov rax, r8
xor edi, edi
xor esi, esi
add rsp, 0x130
pop rbp
ret
lea rax, [0x0066b0e0]
mov rcx, rbx
xor ebx, ebx
call fcn.004479c0
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x78]
xor ebx, ebx
mov rsi, rcx
jmp 0x5aadc0
mov rdx, qword [rsp + 0xd8]
add rdx, 0x18
mov r9, qword [rsp + 0xa8]
dec r9
mov rsi, rcx
mov rcx, r9
nop word [rax + rax]
test rcx, rcx
jle 0x5aaee5
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xd8], rdx
mov rax, qword [rdx]
mov qword [rsp + 0xc0], rax
mov rbx, qword [rdx + 8]
mov qword [rsp + 0x88], rbx
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x90], rcx
mov rdi, qword [rsp + 0x178]
mov rsi, qword [rsp + 0x180]
mov r8, qword [rsp + 0x188]
call fcn.005ac9a0
test al, al
je 0x5aaec8
mov rbx, qword [rsp + 0xb0]
inc rbx
mov rcx, qword [rsp + 0xa0]
cmp rcx, rbx
jb 0x5aae5b
mov rax, qword [rsp + 0xe0]
jmp 0x5aae74
mov rax, qword [rsp + 0xe0]
mov edi, 1
lea rsi, [0x0066b0e0]
call fcn.00447aa0
lea rdx, [rbx + rbx*2]
mov r9, qword [rsp + 0x88]
mov qword [rax + rdx*8 - 0x10], r9
mov r9, qword [rsp + 0x90]
mov qword [rax + rdx*8 - 8], r9
cmp dword [0x0092d940], 0
jne 0x5aaea5
mov r9, qword [rsp + 0xc0]
jmp 0x5aaebe
call fcn.0045fe40
mov r9, qword [rsp + 0xc0]
mov qword [r11], r9
mov r10, qword [rax + rdx*8 - 0x18]
mov qword [r11 + 8], r10
mov qword [rax + rdx*8 - 0x18], r9
jmp 0x5aad9a
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xe0]
jmp 0x5aad9a
test rbx, rbx
jne 0x5aaf5f
mov qword [rsp + 0xf0], 0
movups xmmword [rsp + 0xf8], xmm15
mov qword [rsp + 0x108], 0
mov rcx, qword [rsp + 0x198]
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], 4
movups xmmword [rsp + 0x100], xmm15
lea rax, [0x006a1ae0]
lea rbx, [rsp + 0xf0]
nop
call fcn.0040a6e0
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x007424e0]
mov rsi, rax
xor eax, eax
add rsp, 0x130
pop rbp
ret
mov rcx, rsi
xor edi, edi
xor esi, esi
add rsp, 0x130
pop rbp
ret
mov rax, rdi
mov rcx, rsi
call fcn.004601e0
mov rax, rcx
mov rcx, rsi
call fcn.004601e0
nop
mov qword [rsp + 0x60], rax
call fcn.0045df00
mov rax, qword [rsp + 0x60]
jmp fcn.005aa880