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

Disassembly:
lea r12, [rsp - 0x98]
cmp r12, qword [r14 + 0x10]
jbe 0x5b328a
sub rsp, 0x118
mov qword [rsp + 0x110], rbp
lea rbp, [rsp + 0x110]
cmp byte [rcx + 0x20], 0
jne 0x5b2bb7
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rcx
mov rax, rcx
lea rbx, [0x00644d87]
mov ecx, 6
call fcn.005a6400
nop word [rax + rax]
test rbx, rbx
je 0x5b2b8e
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x90], rax
call fcn.0046a6e0
nop dword [rax + rax]
test rbx, rbx
jne 0x5b2b65
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x130]
call fcn.005a6560
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x60], rbx
mov rcx, rbx
lea rax, [0x005fe120]
call fcn.00448e60
mov qword [rsp + 0xd0], rax
mov rbx, qword [rsp + 0x60]
xor ecx, ecx
lea rax, [0x00635120]
call fcn.0040dec0
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x50]
nop
call fcn.005bca40
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x80], rbx
lea rax, [0x00639a80]
nop dword [rax]
call fcn.0040d1e0
mov qword [rsp + 0x98], rax
mov qword [rax + 0x20], 8
lea rcx, [0x0064534f]
mov qword [rax + 0x18], rcx
mov qword [rax + 0x28], 2
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 0x38], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rax + 0x10], rdx
mov rbx, qword [rsp + 0x90]
lea rdi, [0x00684348]
mov esi, 1
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x80]
xor eax, eax
mov rcx, qword [rsp + 0x58]
call fcn.0044ca60
mov rcx, qword [rsp + 0x98]
mov qword [rcx + 8], rbx
mov qword [rcx], rax
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x5b2bd7
mov rax, qword [rsp + 0xa0]
xor ebx, ebx
mov rsi, qword [rsp + 0xd0]
nop dword [rax]
jmp 0x5b2fe9
lea rax, [0x00658a60]
mov ebx, 0x4a
call fcn.00468600
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
lea rax, [0x00657ad8]
mov ebx, 0x3c
call fcn.00468600
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rbx, qword [0x007e0110]
mov rcx, qword [0x007e0118]
xor eax, eax
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rdx, qword [rsp + 0x50]
lea rsi, [rdx - 0x64]
cmp rsi, 0x63
ja 0x5b2d1d
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx]
call fcn.005a50c0
nop word [rax + rax]
test al, al
jne 0x5b2cf1
mov rax, qword [rsp + 0x128]
movzx ecx, byte [rax + 0x15e]
inc ecx
mov byte [rax + 0x15e], cl
nop
cmp cl, 5
ja 0x5b2cc8
call fcn.005a99a0
test rax, rax
je 0x5b2c4d
mov rcx, qword [rax]
mov rbx, qword [rsp + 0xc8]
mov rdx, rax
mov rax, qword [rsp + 0x50]
call rcx
test rax, rax
jne 0x5b2cb0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x64
jne 0x5b2c8b
mov rcx, qword [rsp + 0x128]
mov rax, qword [rcx + 0x20]
call fcn.005b64a0
mov rcx, qword [rsp + 0x128]
mov rax, qword [rcx + 0xf0]
lea rbx, [rsp + 0x40]
nop dword [rax]
call fcn.004066c0
test al, al
je 0x5b2c8b
jmp 0x5b2c8b
mov rdx, qword [rsp + 0x128]
mov byte [rdx + 0x15c], 0
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
lea rax, [0x006543b5]
mov ebx, 0x2b
call fcn.00468600
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
lea rax, [0x006555af]
mov ebx, 0x2f
nop dword [rax]
call fcn.00468600
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov qword [rcx + 0x50], 0xffffffffffffffff
mov rbx, qword [rcx + 0x38]
lea rax, [0x00635120]
mov edi, 0xe
lea rcx, [0x00647352]
nop dword [rax]
call fcn.00412ae0
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
cmp rsi, 1
je 0x5b2db4
jle 0x5b2d69
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x128]
jmp 0x5b2df0
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx]
call fcn.005a50c0
test al, al
je 0x5b2da2
mov rdx, qword [rsp + 0x128]
cmp byte [rdx + 0xb9], 0
jne 0x5b2daa
mov rax, qword [rsp + 0x98]
mov qword [rax + 0x50], 0
nop
jmp 0x5b2df0
mov rdx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x98]
jmp 0x5b2df0
mov rax, qword [rdx]
mov rbx, qword [rdx + 8]
mov ecx, 0xa
mov edi, 0x3f
call fcn.00469ec0
test rbx, rbx
je 0x5b2dd9
mov rdx, qword [rsp + 0x98]
jmp 0x5b2de5
mov rdx, qword [rsp + 0x98]
mov qword [rdx + 0x50], rax
mov rax, rdx
mov rdx, qword [rsp + 0x128]
cmp byte [rdx + 0xb9], 0
jne 0x5b2fad
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx]
call fcn.005a50c0
test al, al
je 0x5b2e64
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x50], 0
nop
jle 0x5b2e3a
lea rdx, [0x00686e78]
mov qword [rax + 0x40], rdx
lea rdx, [0x008381e0]
mov qword [rax + 0x48], rdx
jmp 0x5b2e50
mov rdx, qword [0x007e0160]
mov rsi, qword [0x007e0168]
mov qword [rax + 0x40], rdx
mov qword [rax + 0x48], rsi
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
lea rax, [0x0062e0a0]
call fcn.0040d1e0
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rcx + 0x50]
mov qword [rax + 0x30], rdx
mov rdx, qword [rsp + 0x128]
lea rbx, [rdx + 0x30]
mov rsi, rax
mov rax, rbx
lea rbx, [0x00687178]
mov rcx, rsi
nop dword [rax]
call fcn.005a81a0
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 0x50]
mov rdx, qword [rsp + 0x128]
mov qword [rdx + 0x128], rcx
lea rcx, [0x00686ec8]
mov qword [rax + 0x40], rcx
mov qword [rax + 0x48], rdx
cmp byte [rdx + 0xb8], 0
je 0x5b2f99
mov rdx, qword [rax + 0x38]
lea rbx, [0x00647f33]
mov ecx, 0x10
mov rax, rdx
call fcn.005b6740
lea rcx, [0x00644809]
mov edi, 4
call fcn.0059fe40
test al, al
jne 0x5b2f16
mov rax, qword [rsp + 0x98]
jmp 0x5b2f99
mov rdx, qword [rsp + 0x98]
mov rax, qword [rdx + 0x38]
lea rbx, [0x00647f33]
mov ecx, 0x10
call fcn.005b6880
mov rdx, qword [rsp + 0x98]
mov rax, qword [rdx + 0x38]
lea rbx, [0x00647352]
mov ecx, 0xe
call fcn.005b6880
mov rdx, qword [rsp + 0x98]
mov qword [rdx + 0x50], 0xffffffffffffffff
lea rax, [0x00629ee0]
call fcn.0040d1e0
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rdx + 0x40]
mov rdi, qword [rdx + 0x48]
mov qword [rax], rsi
mov qword [rax + 8], rdi
lea rsi, [0x00686b58]
mov qword [rdx + 0x40], rsi
mov qword [rdx + 0x48], rax
mov byte [rdx + 0x71], 1
mov rax, rdx
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rdx, qword [0x007e0160]
mov rsi, qword [0x007e0168]
mov qword [rax + 0x40], rdx
mov qword [rax + 0x48], rsi
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rcx, qword [rsp + 0xb8]
lea rax, [rcx + 0x28]
mov rbx, rdx
mov rdx, r8
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x88], rsi
mov rcx, qword [rax]
mov qword [rsp + 0xe8], rcx
movups xmm0, xmmword [rax + 8]
movups xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rax + 0x18]
movups xmmword [rsp + 0x100], xmm0
mov rcx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rax, rcx
mov rbx, rdi
nop
call fcn.005b7680
cmp rbx, 7
jne 0x5b30dd
cmp dword [rax], 0x69617254
jne 0x5b30dd
cmp word [rax + 4], 0x656c
jne 0x5b30dd
cmp byte [rax + 6], 0x72
jne 0x5b30dd
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rdx + 0x78]
test rsi, rsi
jne 0x5b308e
call fcn.0040de60
mov rcx, qword [rsp + 0x98]
mov qword [rcx + 0x78], rax
mov rsi, rax
movups xmmword [rsp + 0xd8], xmm15
lea rdx, [0x005b32c0]
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rsi
mov rax, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x100]
lea rcx, [rsp + 0xd8]
call fcn.005a9180
mov r8, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x88]
jmp 0x5b3264
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x68], rbx
mov rcx, rax
mov rdi, rbx
lea rax, [0x00635120]
mov rbx, qword [rsp + 0xc8]
nop
call fcn.00412ae0
mov rbx, qword [rax]
mov rcx, qword [rax + 8]
mov rdi, qword [rax + 0x10]
test rbx, rbx
je 0x5b311c
mov rdx, qword [rsp + 0x48]
jmp 0x5b312a
mov rdx, qword [rsp + 0x48]
test rdx, rdx
jne 0x5b31f1
lea rsi, [rcx + 1]
mov r8, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x100]
nop
cmp rdi, rsi
jae 0x5b3181
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x78], r9
mov qword [rsp + 0xc0], r8
lea rax, [0x005fe120]
nop
call fcn.00448f20
lea rsi, [rbx + 1]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x78]
mov rbx, rax
mov rdi, rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rdi
shl rcx, 4
mov qword [rbx + rcx + 8], r9
mov qword [rbx + rcx], r8
lea rax, [0x00635120]
mov rcx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0x68]
nop dword [rax]
call fcn.00413780
mov rdx, qword [rsp + 0x78]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0xb0]
mov qword [rax], rdx
mov r8, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x88]
jmp 0x5b3264
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x100]
mov r8, qword [rsp + 0x88]
mov qword [r8 + 8], rsi
mov qword [r8], rdx
lea rax, [0x00635120]
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x68]
call fcn.00413780
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
mov rdx, qword [rsp + 0x88]
mov qword [rax], rdx
mov rsi, qword [rsp + 0x48]
dec rsi
mov r8, rsi
neg rsi
sar rsi, 0x3f
and esi, 0x10
add rsi, rdx
mov rdx, qword [rsp + 0x80]
inc rdx
mov r9, qword [rsp + 0x60]
cmp r9, rdx
jg 0x5b2fd7
mov rcx, qword [rsp + 0x98]
jmp 0x5b2bd7
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.005b29c0