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

Disassembly:
lea r12, [rsp - 0x1e8]
cmp r12, qword [r14 + 0x10]
jbe 0x5699fe
sub rsp, 0x268
mov qword [rsp + 0x260], rbp
lea rbp, [rsp + 0x260]
mov r13, 0
mov qword [rsp + 0x258], r13
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x278], rbx
mov qword [rsp + 0x270], rax
mov byte [rsp + 0x2f], 0
movups xmmword [rsp + 0xa0], xmm15
cmp qword [rax + 0x48], 0
jne 0x5692d9
call fcn.00561f00
mov rcx, qword [rsp + 0x270]
mov qword [rcx + 0x48], rax
mov rax, rcx
mov byte [rax + 0x58], 0
nop dword [rax]
call fcn.00568940
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], rsi
test rdi, rdi
jne 0x5699be
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x98], rbx
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x88]
mov rsi, qword [rsp + 0x270]
mov qword [rsi + 0xc8], rdx
mov qword [rsi + 0xc0], rcx
mov rbx, rax
mov rax, rsi
call fcn.00569aa0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x50], r11
test rbx, rbx
je 0x5693f3
test rcx, rcx
je 0x5693f3
movups xmmword [rsp + 0xb0], xmm15
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
lea rdx, [0x00569a40]
mov qword [rsp + 0xb0], rdx
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0xb8], rdx
mov rdx, qword [rsp + 0x270]
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rbx
lea r12, [rsp + 0xb0]
mov qword [rsp + 0x258], r12
mov byte [rsp + 0x2f], 1
mov r12d, 1
jmp 0x5693f6
xor r12d, r12d
mov byte [rsp + 0x2e], r12b
mov rax, qword [rsp + 0x68]
call fcn.005705c0
mov rdi, rbx
mov rsi, rcx
mov ebx, 0x16
mov rcx, rax
mov rax, qword [rsp + 0x270]
nop dword [rax + rax]
call fcn.00566040
test rbx, rbx
je 0x569479
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], rcx
movzx ecx, byte [rsp + 0x2e]
nop
test cl, 1
je 0x569459
and ecx, 0xfffffffe
mov byte [rsp + 0x2f], cl
mov rdx, qword [rsp + 0x258]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x260]
add rsp, 0x268
ret
mov rax, qword [rsp + 0x270]
call fcn.00566200
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rdi
test rcx, rcx
je 0x5694d9
movzx ecx, byte [rsp + 0x2e]
test cl, 1
je 0x5694b9
and ecx, 0xfffffffe
mov byte [rsp + 0x2f], cl
mov rdx, qword [rsp + 0x258]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x260]
add rsp, 0x268
ret
lea rcx, [0x0060c240]
cmp rax, rcx
jne 0x5694ea
mov rdx, rbx
jmp 0x5694f2
mov rdx, rbx
mov ebx, 0
mov qword [rsp + 0x60], rbx
jne 0x56992d
mov rax, qword [rsp + 0x270]
call fcn.0056a420
test rax, rax
je 0x56955d
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
movzx ecx, byte [rsp + 0x2e]
test cl, 1
je 0x56953d
and ecx, 0xfffffffe
mov byte [rsp + 0x2f], cl
mov rdx, qword [rsp + 0x258]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x260]
add rsp, 0x268
ret
mov rcx, qword [rsp + 0x270]
mov rax, qword [rcx + 0x48]
mov ebx, 1
call fcn.005618c0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx + 0x30]
add rdx, 0xffffffffffffffe8
neg rdx
sar rdx, 0x3f
and edx, 0x18
add rdx, qword [rcx + 0x20]
mov rsi, qword [rcx + 0x28]
cmp rsi, 0x20
jne 0x5695af
movabs r8, 0x14452474e574f44
cmp qword [rdx], r8
sete r8b
cmp rsi, 0x20
jmp 0x5695b5
mov r8d, 0
jne 0x5695c9
movabs rsi, 0x4452474e574f44
cmp qword [rdx], rsi
sete dl
jmp 0x5695cb
xor edx, edx
cmp ax, 0x304
jne 0x5695ed
mov rsi, qword [rsp + 0x270]
cmp word [rsi + 0x40], 0x303
nop
ja 0x5695f5
test r8b, r8b
jne 0x569607
test dl, dl
jne 0x569607
jmp 0x5695f5
mov rsi, qword [rsp + 0x270]
cmp ax, 0x303
jne 0x569673
cmp word [rsi + 0x40], 0x302
ja 0x569673
test dl, dl
je 0x569673
mov rax, rsi
mov ebx, 0x2f
call fcn.005654e0
lea rax, [0x00659117]
mov ebx, 0x54
call fcn.00468600
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
movzx ecx, byte [rsp + 0x2e]
test cl, 1
je 0x569653
and ecx, 0xfffffffe
mov byte [rsp + 0x2f], cl
mov rdx, qword [rsp + 0x258]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x260]
add rsp, 0x268
ret
cmp word [rsi + 0x40], 0x304
jne 0x5697c6
movups xmmword [rsp + 0x190], xmm15
lea rdi, [rsp + 0x198]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004618cb
mov rbp, qword [rbp]
mov qword [rsp + 0x190], rsi
mov rdx, qword [rsp + 0x278]
mov qword [rsp + 0x198], rdx
mov rdx, qword [rsp + 0x280]
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x1a8], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x1b0], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x1b8], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x1c0], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x1c8], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x1d0], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x1d8], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x1e0], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x1e8], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x1f0], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x1f8], rcx
lea rax, [rsp + 0x190]
call fcn.0056d6c0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
movzx ecx, byte [rsp + 0x2e]
test cl, 1
je 0x5697a6
and ecx, 0xfffffffe
mov byte [rsp + 0x2f], cl
mov rdx, qword [rsp + 0x258]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x260]
add rsp, 0x268
ret
movups xmmword [rsp + 0xd8], xmm15
lea rdi, [rsp + 0xe0]
lea rdi, [rdi - 0x10]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004618cf
mov rbp, qword [rbp]
mov qword [rsp + 0xd8], rsi
mov rdx, qword [rsp + 0x278]
mov qword [rsp + 0xe0], rdx
mov rdx, qword [rsp + 0x280]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0xf8], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x188], rcx
lea rax, [rsp + 0xd8]
call fcn.0056a540
test rax, rax
je 0x56989d
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
movzx ecx, byte [rsp + 0x2e]
test cl, 1
je 0x56987d
and ecx, 0xfffffffe
mov byte [rsp + 0x2f], cl
mov rdx, qword [rsp + 0x258]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x260]
add rsp, 0x268
ret
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x5698e6
mov rdi, qword [rsp + 0x188]
test rdi, rdi
je 0x5698e6
mov rsi, qword [rsp + 0x58]
cmp rsi, rdi
je 0x5698e6
mov rdx, qword [rsp + 0x270]
mov rdx, qword [rdx + 0x48]
mov rsi, qword [rdx + 0xe8]
mov rax, qword [rdx + 0xf0]
mov rdx, qword [rsi + 0x20]
mov rbx, qword [rsp + 0x80]
call rdx
movups xmmword [rsp + 0xa0], xmm15
movzx ecx, byte [rsp + 0x2e]
test cl, 1
je 0x56990d
and ecx, 0xfffffffe
mov byte [rsp + 0x2f], cl
mov rdx, qword [rsp + 0x258]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x260]
add rsp, 0x268
ret
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x270]
mov ebx, 0xa
call fcn.005654e0
lea rax, [0x0060c240]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
call fcn.00561f20
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
movzx ecx, byte [rsp + 0x2e]
test cl, 1
je 0x56999e
and ecx, 0xfffffffe
mov byte [rsp + 0x2f], cl
mov rdx, qword [rsp + 0x258]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x260]
add rsp, 0x268
ret
mov rax, qword [rsp + 0xa0]
mov rbx, rsi
mov rbp, qword [rsp + 0x260]
add rsp, 0x268
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.0045f280
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00569260