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

Disassembly:
lea r12, [rsp - 0x98]
cmp r12, qword [r14 + 0x10]
jbe 0x5bca15
sub rsp, 0x118
mov qword [rsp + 0x110], rbp
lea rbp, [rsp + 0x110]
mov qword [rsp + 0x120], rax
mov rdx, qword [rax + 0x80]
mov rsi, qword [rax]
mov qword [rsp + 0xb8], rsi
mov r8, qword [rax + 0x88]
mov rdx, qword [rdx + 0x30]
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rax, r8
call rdx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x120]
mov rsi, qword [rdx + 0x80]
mov r8, qword [rdx + 0x88]
mov rsi, qword [rsi + 0x20]
mov rax, r8
call rsi
lea rax, [0x006bde60]
call fcn.0040daa0
mov word [rax], 0xfe
mov byte [rax + 2], 0
mov rdx, qword [rsp + 0x60]
mov byte [rax + 3], dl
mov rsi, qword [rsp + 0x120]
mov r8, qword [rsi + 0x80]
mov r9, qword [rsi + 0x88]
mov r8, qword [r8 + 0x38]
mov rbx, rax
mov ecx, 4
mov rdi, rcx
mov rax, r9
call r8
mov rdx, qword [rsp + 0x120]
mov rsi, qword [rdx + 0x80]
mov rax, qword [rdx + 0x88]
mov rsi, qword [rsi + 0x38]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
nop
call rsi
mov rdx, qword [rsp + 0x120]
mov rsi, qword [rdx + 0x18]
mov qword [rsp + 0xe8], rsi
mov rbx, qword [rdx + 0x80]
mov r8, qword [rdx + 0x88]
mov qword [rsp + 0xe0], r8
lea rax, [0x006d3100]
call fcn.0040b260
mov rbx, qword [rsp + 0xe8]
mov rcx, rax
mov rdi, qword [rsp + 0xe0]
lea rax, [0x007f2ee0]
call fcn.005d43e0
nop word [rax + rax]
test rax, rax
jne 0x5bc048
mov rsi, qword [rsp + 0x120]
mov r8, qword [rsi + 0x18]
cmp word [r8 + 0xf8], 0
nop
jne 0x5bbf76
cmp qword [r8 + 0xe0], 0
jne 0x5bbf76
mov rax, qword [rsp + 0xb8]
mov ebx, 0x2f
call fcn.005b1300
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x39
lea rcx, [0x0072faa7]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x007f1c00]
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov r9, qword [r8 + 0xe0]
mov r10, qword [r8 + 0xe8]
mov r8, qword [r8 + 0xf0]
test r9, r9
je 0x5bbfc5
mov rdi, qword [rsi + 0x20]
mov qword [rdi + 0x178], r10
mov qword [rdi + 0x180], r8
cmp dword [0x00a04ed0], 0
jne 0x5bbfb4
mov qword [rdi + 0x170], r9
jmp 0x5bbfc5
add rdi, 0x170
nop dword [rax + rax]
call fcn.00465bc0
mov r8, qword [rsi + 0x18]
cmp word [r8 + 0xa0], 0
jne 0x5bbffe
movzx ecx, word [r8 + 0xf8]
nop dword [rax]
test cx, cx
je 0x5bc058
mov rdx, qword [rsi + 0x20]
mov rdi, qword [rdx + 0x98]
mov rdx, qword [rdx + 0xa0]
xor eax, eax
jmp 0x5bc5cc
mov rax, qword [rsp + 0xb8]
mov ebx, 0x32
call fcn.005b1300
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x2b
lea rcx, [0x0072c03b]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x007f1c00]
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rdi, qword [rsi + 0x20]
movups xmmword [rdi + 8], xmm15
cmp dword [0x00a04ed0], 0
jne 0x5bc073
mov qword [rdi], 0
jmp 0x5bc07a
xor ecx, ecx
call fcn.00465b20
mov rdi, qword [rsi + 0x20]
cmp qword [rdi + 0x1c8], 0
je 0x5bc0a5
mov rcx, qword [rsi + 0x30]
movzx ecx, word [rcx + 0x1a]
mov r8, qword [0x009a3990]
mov r9, qword [0x009a3998]
xor eax, eax
jmp 0x5bc280
mov rcx, qword [rsi]
mov qword [rsp + 0xd8], rcx
mov rdx, qword [rsi + 0x20]
mov qword [rsp + 0xd0], rdx
mov rbx, qword [rsi + 0x80]
mov rdi, qword [rsi + 0x88]
mov qword [rsp + 0xe0], rdi
lea rax, [0x006d3100]
call fcn.0040b260
lea rbx, [0x007f2d50]
mov rcx, qword [rsp + 0xd0]
mov rdi, rax
mov rsi, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xd8]
call fcn.005b20c0
test rbx, rbx
jne 0x5bc263
mov rax, qword [rsp + 0xb8]
xor ebx, ebx
xor ecx, ecx
call fcn.005b24e0
nop
test rcx, rcx
jne 0x5bc24d
lea rcx, [0x006cfc60]
cmp rax, rcx
jne 0x5bc13a
mov rdx, rbx
jmp 0x5bc142
mov rdx, rbx
mov ebx, 0
jne 0x5bc1a1
cmp dword [0x00a04ed0], 0
jne 0x5bc15b
mov rax, qword [rsp + 0x120]
mov qword [rax + 0x18], rbx
jmp 0x5bc172
mov rdi, qword [rsp + 0x120]
lea rcx, [rdi + 0x18]
mov rax, rdi
mov rdi, rcx
call fcn.00465b60
call fcn.005bba00
test rax, rax
je 0x5bc18c
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
nop
ret
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x98], rbx
mov rax, qword [rsp + 0xb8]
mov ebx, 0xa
call fcn.005b1300
movups xmmword [rsp + 0xf0], xmm15
movups xmmword [rsp + 0x100], xmm15
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xf8], rcx
lea rcx, [0x006cfc60]
mov qword [rsp + 0x100], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x108], rcx
lea rax, [0x00731325]
mov ebx, 0x49
lea rcx, [rsp + 0xf0]
mov edi, 2
mov rsi, rdi
call fcn.004c2160
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rcx
mov rbx, rdi
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rbx
mov rbx, rcx
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
inc rax
nop dword [rax]
cmp rax, r9
jge 0x5bc291
mov r10, qword [r8 + rax*8]
cmp word [r10], cx
jne 0x5bc279
jmp 0x5bc294
xor r10d, r10d
test r10, r10
je 0x5bc59d
mov rcx, qword [rsi + 0x78]
mov r8, qword [r10 + 0x18]
cmp qword [rcx + 0x18], r8
jne 0x5bc534
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx + 0x10]
nop
test rcx, rcx
jne 0x5bc2cc
lea rcx, fcn.004b1260
mov rax, qword [rcx]
mov rdx, rcx
call rax
mov rsi, qword [rsp + 0x120]
mov rdi, qword [rsi + 0x30]
mov r8, qword [rdi + 0x68]
mov r9, qword [rdi + 0x70]
mov rdi, qword [rdi + 0x78]
mov rdx, rdi
mov rdi, r8
mov rsi, r9
mov r8, rdx
call fcn.004b0b00
mov rcx, qword [rsp + 0x120]
mov rbx, qword [rcx + 0x20]
mov rsi, qword [rcx + 0x30]
mov rdx, rax
movabs rax, 0x431bde82d7b634db
mov rdi, rdx
imul rdx
sar rdx, 0x12
sar rdi, 0x3f
sub rdx, rdi
mov rax, qword [rbx + 0x1c0]
add edx, dword [rsi + 0xe0]
cmp qword [rbx + 0x1c8], 0
jbe 0x5bc5bf
mov dword [rax + 0x18], edx
mov rdx, qword [rcx + 0x78]
mov rax, qword [rdx + 0x18]
call fcn.004d3540
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x90], rbx
lea rax, [0x006bde60]
call fcn.0040daa0
mov word [rax], 0xfe
mov byte [rax + 2], 0
mov rcx, qword [rsp + 0x60]
mov byte [rax + 3], cl
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rdx + 0x38]
mov edi, 4
mov rsi, rax
mov rax, qword [rsp + 0x90]
mov r8, rbx
mov rbx, rsi
mov rcx, rdi
call r8
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx + 0x38]
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call rdx
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rcx + 0x18]
mov qword [rsp + 0xe8], rdx
lea rax, [0x006d3100]
mov rbx, qword [rsp + 0x50]
call fcn.0040b260
mov rbx, qword [rsp + 0xe8]
mov rcx, rax
mov rdi, qword [rsp + 0x90]
lea rax, [0x007f2ee0]
call fcn.005d43e0
test rax, rax
jne 0x5bc524
mov rcx, qword [rsp + 0x120]
mov rax, qword [rcx + 0x20]
call fcn.005c4ba0
test rdi, rdi
jne 0x5bc50e
mov rdx, qword [rsp + 0x50]
mov rsi, qword [rdx + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x90]
call rsi
mov rdx, qword [rsp + 0x120]
mov rax, qword [rdx + 0x78]
mov rbx, qword [rdx + 0x50]
mov rcx, qword [rdx + 0x58]
mov rdi, qword [rdx + 0x60]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x90]
call fcn.005d6740
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x70], rcx
lea rax, [0x006bcb40]
call fcn.0040daa0
mov rdx, qword [rsp + 0x78]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
cmp dword [0x00a04ed0], 0
jne 0x5bc4bd
mov rdx, qword [rsp + 0xc0]
mov qword [rax], rdx
jmp 0x5bc4cd
mov rdi, rax
mov rdx, qword [rsp + 0xc0]
call fcn.00465b40
mov rdx, qword [rsp + 0x120]
mov rsi, qword [rdx + 0x20]
mov rbx, rax
mov ecx, 1
mov rdi, rcx
mov rax, rsi
call fcn.005c4c60
test rax, rax
jne 0x5bc4fe
mov rsi, qword [rsp + 0x120]
jmp 0x5bc0a5
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rdi
mov rbx, rsi
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
movups xmmword [rdi + 0x1c8], xmm15
cmp dword [0x00a04ed0], 0
jne 0x5bc552
mov qword [rdi + 0x1c0], 0
jmp 0x5bc565
add rdi, 0x1c0
xor ecx, ecx
nop dword [rax + rax]
call fcn.00465b20
mov rdi, qword [rsi + 0x20]
movups xmmword [rdi + 0x1e0], xmm15
cmp dword [0x00a04ed0], 0
jne 0x5bc58a
mov qword [rdi + 0x1d8], 0
jmp 0x5bc0a5
add rdi, 0x1d8
xor ecx, ecx
call fcn.00465b20
jmp 0x5bc0a5
mov rax, qword [rsp + 0xb8]
mov ebx, 0x50
call fcn.005b1300
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
xor eax, eax
mov rcx, rax
call fcn.00465ec0
inc rax
cmp rax, rdx
jge 0x5bc9cb
movzx r8d, word [rdi + rax*2]
nop word [rax + rax]
cmp r8w, cx
jne 0x5bc5c9
mov word [rsp + 0x36], cx
mov rdx, qword [rsi + 0x28]
mov rax, qword [rdx]
mov qword [rsp + 0x40], rax
mov rbx, qword [rdx + 8]
mov qword [rsp + 0x88], rbx
mov rdx, qword [0x009a2ce0]
lea rdi, [0x007f44e8]
cmp rax, rdi
jne 0x5bc655
mov rcx, rdx
call fcn.00403fe0
nop
test al, al
je 0x5bc63b
movzx ecx, word [rsp + 0x36]
mov rsi, qword [rsp + 0x120]
mov eax, 0x1d
jmp 0x5bc740
mov rax, qword [rsp + 0x40]
movzx ecx, word [rsp + 0x36]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x120]
mov rdx, qword [0x009a2cc8]
lea rdi, [0x007f4428]
cmp rax, rdi
jne 0x5bc6a5
mov rcx, rdx
call fcn.00403fe0
test al, al
je 0x5bc68b
movzx ecx, word [rsp + 0x36]
mov rsi, qword [rsp + 0x120]
mov eax, 0x17
jmp 0x5bc740
mov rax, qword [rsp + 0x40]
movzx ecx, word [rsp + 0x36]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x120]
mov rdx, qword [0x009a2cd0]
lea rdi, [0x007f4468]
cmp rax, rdi
jne 0x5bc6f7
mov rcx, rdx
nop dword [rax + rax]
call fcn.00403fe0
test al, al
je 0x5bc6dd
movzx ecx, word [rsp + 0x36]
mov rsi, qword [rsp + 0x120]
mov eax, 0x18
jmp 0x5bc740
mov rax, qword [rsp + 0x40]
movzx ecx, word [rsp + 0x36]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x120]
mov rdx, qword [0x009a2cd8]
lea rdi, [0x007f44a8]
cmp rax, rdi
jne 0x5bc737
mov rcx, rdx
call fcn.00403fe0
test al, al
je 0x5bc72a
movzx ecx, word [rsp + 0x36]
mov rsi, qword [rsp + 0x120]
mov eax, 0x19
jmp 0x5bc740
movzx ecx, word [rsp + 0x36]
mov rsi, qword [rsp + 0x120]
xor eax, eax
nop dword [rax]
cmp ax, cx
je 0x5bc981
nop
cmp cx, 0x18
ja 0x5bc765
cmp cx, 0x17
je 0x5bc775
cmp cx, 0x18
je 0x5bc775
nop dword [rax]
jmp 0x5bc937
cmp cx, 0x19
je 0x5bc775
cmp cx, 0x1d
jne 0x5bc937
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rdx + 0x48]
mov r8, qword [rdi]
mov rdi, qword [rdi + 8]
test r8, r8
jne 0x5bc79b
mov r8, qword [0x009af0d0]
mov rdi, qword [0x009af0d8]
mov rax, r8
mov rbx, rdi
call fcn.005d6bc0
test rbx, rbx
jne 0x5bc8fb
cmp dword [0x00a04ed0], 0
jne 0x5bc7c6
mov rcx, qword [rsp + 0x120]
mov qword [rcx + 0x28], rax
jmp 0x5bc7da
mov rdi, qword [rsp + 0x120]
lea rcx, [rdi + 0x28]
mov rdi, rcx
call fcn.00465a20
call fcn.00507740
mov qword [rsp + 0xa0], rax
lea rax, [0x006bc3c0]
call fcn.0040daa0
mov rcx, qword [rsp + 0xa0]
mov rdi, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
cmp rdi, 0x85
ja 0x5bc816
mov rcx, rdi
mov edx, 0x85
jmp 0x5bc84a
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0xc0], rbx
mov rbx, rdi
mov ecx, 0x85
lea rsi, [0x006bb680]
call fcn.0044aa20
mov rdx, rcx
mov rdi, rbx
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xc0]
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x80], rax
nop dword [rax]
call fcn.00466860
lea rax, [0x006bcc60]
call fcn.0040daa0
movzx edx, word [rsp + 0x36]
mov word [rax], dx
mov rdx, qword [rsp + 0x38]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rax + 0x18], rdx
cmp dword [0x00a04ed0], 0
jne 0x5bc8a2
mov rcx, qword [rsp + 0x80]
mov qword [rax + 8], rcx
jmp 0x5bc8b3
lea rdi, [rax + 8]
mov rcx, qword [rsp + 0x80]
call fcn.00465b20
mov rcx, qword [rsp + 0x120]
mov rdi, qword [rcx + 0x20]
mov qword [rdi + 0x190], 1
mov qword [rdi + 0x198], 1
cmp dword [0x00a04ed0], 0
jne 0x5bc8e7
mov qword [rdi + 0x188], rax
jmp 0x5bc8f3
add rdi, 0x188
call fcn.00465a20
mov rsi, rcx
jmp 0x5bc058
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x58], rbx
mov rax, qword [rsp + 0xb8]
mov ebx, 0x50
call fcn.005b1300
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, qword [rsp + 0xb8]
mov ebx, 0x50
call fcn.005b1300
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x30
lea rcx, [0x0072da4d]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x007f1c00]
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, qword [rsp + 0xb8]
mov ebx, 0x2f
call fcn.005b1300
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x3b
lea rcx, [0x0072fe4f]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x007f1c00]
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, qword [rsp + 0xb8]
mov ebx, 0x2f
call fcn.005b1300
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x26
lea rcx, [0x0072a19c]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x007f1c00]
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov qword [rsp + 8], rax
call fcn.00463860
mov rax, qword [rsp + 8]
jmp fcn.005bbda0