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

Disassembly:
lea r12, [rsp - 0xb0]
cmp r12, qword [r14 + 0x10]
jbe 0x5cd9e9
push rbp
mov rbp, rsp
sub rsp, 0x128
mov rcx, qword [rax + 0x50]
cmp qword [rcx + 0x88], 0
jne 0x5ccc2e
cmp byte [rcx + 0xa0], 0
jne 0x5ccc2e
nop
lea rax, [0x006870a0]
nop dword [rax]
call fcn.0040d480
mov qword [rax + 8], 0x50
lea rcx, [0x006d872f]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00741740]
mov rdi, rax
xor eax, eax
add rsp, 0x128
pop rbp
ret
mov rdx, qword [rcx + 0x68]
mov rsi, qword [rcx + 0x70]
xor ebx, ebx
jmp 0x5ccc4c
add rdi, 0x10
dec rsi
lea rbx, [rbx + rdx]
lea rbx, [rbx + 1]
mov rdx, rdi
test rsi, rsi
jle 0x5ccca0
mov rdi, rdx
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x5ccc69
nop dword [rax]
cmp rdx, 0xff
jle 0x5ccc3a
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 0x1d
lea rcx, [0x006cd69b]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00741740]
mov rdi, rax
xor eax, eax
add rsp, 0x128
pop rbp
ret
cmp rbx, 0xffff
jg 0x5cd0ee
mov qword [rsp + 0x138], rax
mov qword [rsp + 0xd8], rcx
mov rax, rcx
mov ebx, 1
call fcn.005c1cc0
test rbx, rbx
je 0x5cd0b8
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xd8]
mov ebx, 1
call fcn.005c1cc0
test rbx, rbx
jne 0x5ccd02
xor edx, edx
nop
jmp 0x5ccd05
movzx edx, word [rax]
mov word [rsp + 0x40], dx
lea rax, [0x0066d1c0]
mov ebx, 0x20
mov rcx, rbx
call fcn.004479c0
mov qword [rsp + 0x120], rax
mov rdx, qword [rsp + 0xd8]
mov rsi, qword [rdx + 0x80]
mov rbx, qword [rdx + 0x88]
mov rax, rsi
nop
call fcn.005d3260
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xa8], rbx
mov rdx, qword [rsp + 0xd8]
mov rsi, qword [rdx + 0x118]
movzx edi, word [rsp + 0x40]
cmp di, 0x303
mov r8d, 0x303
cmova di, r8w
mov word [rsp + 0x44], di
nop
test rsi, rsi
jne 0x5ccd9c
mov rcx, qword [0x0089ba50]
mov rsi, qword [0x0089ba58]
mov r8, qword [0x0089ba60]
jmp 0x5ccdaa
mov rcx, qword [rdx + 0x110]
mov r8, qword [rdx + 0x120]
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0xb8], rcx
lea rax, [0x006bde20]
call fcn.0040d480
mov qword [rsp + 0xe0], rax
movzx ecx, word [rsp + 0x44]
mov word [rax + 0x18], cx
lea rax, [0x00670760]
call fcn.0040d480
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 0x70], 1
mov qword [rcx + 0x78], 1
cmp dword [0x0092d940], 0
jne 0x5cce10
mov rdx, qword [rsp + 0x120]
jmp 0x5cce34
call fcn.0045fe80
mov qword [r11], rax
mov rdx, qword [rcx + 0x68]
mov qword [r11 + 8], rdx
mov rdx, qword [rsp + 0x120]
mov qword [r11 + 0x10], rdx
mov rbx, qword [rcx + 0x20]
mov qword [r11 + 0x18], rbx
mov qword [rcx + 0x68], rax
mov qword [rcx + 0x28], 0x20
mov qword [rcx + 0x30], 0x20
mov qword [rcx + 0x20], rdx
mov byte [rcx + 0x138], 1
mov byte [rcx + 0x90], 1
mov byte [rcx + 0x158], 1
mov rdx, qword [rsp + 0xa8]
mov qword [rcx + 0x88], rdx
cmp dword [0x0092d940], 0
jne 0x5cce8b
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xb8]
jmp 0x5ccebd
call fcn.0045fe80
mov rdx, qword [rsp + 0x118]
mov qword [r11], rdx
mov rbx, qword [rcx + 0x80]
mov qword [r11 + 8], rbx
mov rbx, qword [rsp + 0xb8]
mov qword [r11 + 0x10], rbx
mov rsi, qword [rcx + 0x98]
mov qword [r11 + 0x18], rsi
mov qword [rcx + 0x80], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rcx + 0xa0], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rcx + 0xa8], rdx
mov qword [rcx + 0x98], rbx
lea rax, [0x00670760]
call fcn.0040d480
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 0xb8], 1
mov qword [rcx + 0xc0], 1
cmp dword [0x0092d940], 0
je 0x5ccf29
call fcn.0045fe40
mov qword [r11], rax
mov rdx, qword [rcx + 0xb0]
mov qword [r11 + 8], rdx
mov qword [rcx + 0xb0], rax
mov byte [rcx + 0x118], 1
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rax + 0x70]
mov rbx, qword [rax + 0x78]
mov rsi, qword [rax + 0x68]
mov qword [rcx + 0x148], rdx
mov qword [rcx + 0x150], rbx
cmp dword [0x0092d940], 0
jne 0x5ccf6c
mov rdx, qword [rsp + 0xc8]
jmp 0x5ccf96
call fcn.0045fe80
mov qword [r11], rsi
mov rdx, qword [rcx + 0x140]
mov qword [r11 + 8], rdx
mov rdx, qword [rsp + 0xc8]
mov qword [r11 + 0x10], rdx
mov rbx, qword [rcx + 0x160]
mov qword [r11 + 0x18], rbx
mov qword [rcx + 0x140], rsi
mov rbx, qword [rsp + 0x68]
mov qword [rcx + 0x168], rbx
mov rbx, qword [rsp + 0x70]
mov qword [rcx + 0x170], rbx
mov qword [rcx + 0x160], rdx
mov rdx, qword [rsp + 0x138]
cmp qword [rdx + 0x58], 0
jle 0x5cd00b
mov qword [rcx + 0x128], 0xc
mov qword [rcx + 0x130], 0xc
lea rbx, [rdx + 0x149]
cmp dword [0x0092d940], 0
je 0x5cd004
call fcn.0045fe40
mov qword [r11], rbx
mov rsi, qword [rcx + 0x120]
mov qword [r11 + 8], rsi
mov qword [rcx + 0x120], rbx
mov rbx, qword [0x0089b970]
mov rsi, qword [0x0089b978]
cmp byte [0x0092d4d6], 0
jne 0x5cd030
mov rbx, qword [0x0089b990]
mov rsi, qword [0x0089b998]
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0xd0], rbx
nop dword [rax]
call fcn.005c1c20
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x100], rax
mov rcx, rbx
xor ebx, ebx
lea rax, [0x0066d240]
call fcn.004479c0
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 0x58], 0
mov rdx, qword [rsp + 0x90]
mov qword [rcx + 0x60], rdx
cmp dword [0x0092d940], 0
je 0x5cd09b
call fcn.0045fe40
mov qword [r11], rax
mov r9, qword [rcx + 0x50]
mov qword [r11 + 8], r9
mov qword [rcx + 0x50], rax
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0xd0]
mov r11, qword [rsp + 0x100]
xor eax, eax
jmp 0x5cd127
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 0x3c
lea rcx, [0x006d6da4]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00741740]
mov rdi, rax
xor eax, eax
add rsp, 0x128
pop rbp
ret
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 0x20
lea rcx, [0x006ceb29]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00741740]
mov rdi, rax
xor eax, eax
add rsp, 0x128
pop rbp
ret
inc rax
cmp r9, rax
jle 0x5cd217
movzx r12d, word [r10 + rax*2]
xor ebx, ebx
jmp 0x5cd9b2
nop
mov r15, qword [0x0089b930]
mov rbx, qword [0x0089b938]
xor esi, esi
jmp 0x5cd9ce
xor ebx, ebx
test rbx, rbx
je 0x5cd124
cmp word [rcx + 0x18], 0x303
nop
jae 0x5cd16d
mov r13, qword [rbx + 0x28]
bt r13d, 2
jb 0x5cd124
mov r13, qword [rcx + 0x60]
mov rbx, qword [rcx + 0x58]
inc rbx
mov r15, qword [rcx + 0x50]
nop dword [rax]
cmp r13, rbx
jae 0x5cd208
mov qword [rsp + 0xa8], rax
mov word [rsp + 0x42], r12w
mov rax, r15
mov rcx, r13
mov edi, 1
lea rsi, [0x0066d240]
call fcn.00447aa0
mov rdx, qword [rsp + 0xe0]
mov qword [rdx + 0x60], rcx
cmp dword [0x0092d940], 0
je 0x5cd1d3
call fcn.0045fe40
mov qword [r11], rax
mov r9, qword [rdx + 0x50]
mov qword [r11 + 8], r9
mov qword [rdx + 0x50], rax
mov rcx, rdx
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0xd0]
mov r11, qword [rsp + 0x100]
movzx r12d, word [rsp + 0x42]
mov r15, rax
mov rax, qword [rsp + 0xa8]
mov qword [rcx + 0x58], rbx
mov word [r15 + rbx*2 - 2], r12w
jmp 0x5cd124
mov rdx, qword [rsp + 0xd8]
mov r9, qword [rdx]
test r9, r9
je 0x5cd22d
mov r10, qword [rdx + 8]
jmp 0x5cd23b
mov r9, qword [0x008a6a50]
mov r10, qword [0x008a6a58]
mov r8, qword [rcx + 0x28]
mov rdx, qword [rcx + 0x20]
mov rsi, qword [rcx + 0x30]
nop
mov rax, r9
mov rbx, r10
mov rdi, r8
mov rcx, rdx
call fcn.0046d020
nop dword [rax]
test rbx, rbx
jne 0x5cd912
mov rax, qword [rsp + 0x138]
cmp qword [rax + 0x20], 0
jne 0x5cd316
lea rax, [0x0066d1c0]
mov ebx, 0x20
mov rcx, rbx
call fcn.004479c0
mov rdx, qword [rsp + 0xe0]
mov qword [rdx + 0x40], 0x20
mov qword [rdx + 0x48], 0x20
cmp dword [0x0092d940], 0
je 0x5cd2c1
call fcn.0045fe40
mov qword [r11], rax
mov r9, qword [rdx + 0x38]
mov qword [r11 + 8], r9
mov qword [rdx + 0x38], rax
mov r9, qword [rsp + 0xd8]
mov r10, qword [r9]
test r10, r10
je 0x5cd2db
mov r11, qword [r9 + 8]
jmp 0x5cd2e9
mov r10, qword [0x008a6a50]
mov r11, qword [0x008a6a58]
mov rcx, qword [rdx + 0x38]
nop
mov rax, r10
mov rbx, r11
mov edi, 0x20
mov rsi, rdi
mov r8, rsi
nop
call fcn.0046d020
test rbx, rbx
jne 0x5cd88b
mov rax, qword [rsp + 0x138]
mov rdx, qword [rsp + 0xe0]
cmp word [rdx + 0x18], 0x303
jb 0x5cd36c
mov r8, qword [0x0089b9f8]
mov r9, qword [0x0089ba00]
mov r10, qword [0x0089b9f0]
mov qword [rdx + 0xf0], r8
mov qword [rdx + 0xf8], r9
cmp dword [0x0092d940], 0
je 0x5cd365
call fcn.0045fe40
mov qword [r11], r10
mov r8, qword [rdx + 0xe8]
mov qword [r11 + 8], r8
mov qword [rdx + 0xe8], r10
mov r8, qword [0x008a6d30]
test r8, r8
je 0x5cd3ba
mov r9, qword [0x008a6d38]
mov r10, qword [0x008a6d40]
mov qword [rdx + 0xf0], r9
mov qword [rdx + 0xf8], r10
cmp dword [0x0092d940], 0
je 0x5cd3b3
nop dword [rax]
call fcn.0045fe40
mov qword [r11], r8
mov r9, qword [rdx + 0xe8]
mov qword [r11 + 8], r9
mov qword [rdx + 0xe8], r8
mov r8, qword [rdx + 0x168]
test r8, r8
jbe 0x5cd9a5
mov r9, qword [rdx + 0x160]
cmp word [r9], 0x304
jne 0x5cd7e1
nop dword [rax]
cmp r8, 1
jne 0x5cd408
movups xmmword [rdx + 0x58], xmm15
cmp dword [0x0092d940], 0
je 0x5cd400
mov r8, qword [rdx + 0x50]
call fcn.0045fe20
mov qword [r11], r8
mov qword [rdx + 0x50], 0
cmp byte [0x0092d4d6], 0
je 0x5cd4e7
mov rdi, qword [0x0089b9b8]
mov rcx, qword [rdx + 0x60]
mov r8, qword [rdx + 0x58]
lea rbx, [rdi + r8]
mov r8, qword [rdx + 0x50]
cmp rcx, rbx
jb 0x5cd436
mov rsi, rbx
jmp 0x5cd458
mov qword [rsp + 0xa0], rbx
mov rax, r8
lea rsi, [0x0066d240]
call fcn.00447aa0
mov rsi, qword [rsp + 0xa0]
mov r8, rax
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x110], r8
mov rdx, qword [0x0089b9b8]
sub rsi, rdx
lea rax, [r8 + rsi*2]
mov rsi, qword [0x0089b9b0]
shl rdx, 1
mov rbx, rsi
mov rcx, rdx
call fcn.00460ba0
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xe0]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rsp + 0xa8]
mov qword [rsi + 0x60], rdx
cmp dword [0x0092d940], 0
jne 0x5cd4c6
mov rdx, qword [rsp + 0x110]
jmp 0x5cd4de
call fcn.0045fe40
mov rdx, qword [rsp + 0x110]
mov qword [r11], rdx
mov rdi, qword [rsi + 0x50]
mov qword [r11 + 8], rdi
mov qword [rsi + 0x50], rdx
jmp 0x5cd5bc
mov rdi, qword [0x0089b9d8]
mov rcx, qword [rdx + 0x60]
mov r8, qword [rdx + 0x58]
lea rbx, [rdi + r8]
mov r8, qword [rdx + 0x50]
nop
cmp rcx, rbx
jb 0x5cd50a
mov rsi, rbx
jmp 0x5cd530
mov qword [rsp + 0xa0], rbx
mov rax, r8
lea rsi, [0x0066d240]
nop dword [rax]
call fcn.00447aa0
mov rsi, qword [rsp + 0xa0]
mov r8, rax
mov qword [rsp + 0x110], r8
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rcx
mov rdx, qword [0x0089b9d8]
sub rsi, rdx
lea rax, [r8 + rsi*2]
mov rsi, qword [0x0089b9d0]
shl rdx, 1
mov rbx, rsi
mov rcx, rdx
call fcn.00460ba0
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xe0]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsi + 0x60], rdx
cmp dword [0x0092d940], 0
jne 0x5cd5a0
mov rdx, qword [rsp + 0x110]
jmp 0x5cd5b8
call fcn.0045fe40
mov rdx, qword [rsp + 0x110]
mov qword [r11], rdx
mov rdi, qword [rsi + 0x50]
mov qword [r11 + 8], rdi
mov qword [rsi + 0x50], rdx
mov rdx, qword [rsp + 0xd8]
mov rdi, qword [rdx + 0x118]
test rdi, rdi
jne 0x5cd5e2
mov r8, qword [0x0089ba50]
mov rdi, qword [0x0089ba58]
nop
jmp 0x5cd5e9
mov r8, qword [rdx + 0x110]
test rdi, rdi
jbe 0x5cd999
movzx ecx, word [r8]
nop
cmp cx, 0x18
ja 0x5cd611
nop dword [rax]
cmp cx, 0x17
je 0x5cd62a
cmp cx, 0x18
je 0x5cd62a
jmp 0x5cd7aa
cmp cx, 0x19
je 0x5cd62a
nop word [rax + rax]
cmp cx, 0x1d
jne 0x5cd7aa
mov rdi, qword [rdx]
test rdi, rdi
je 0x5cd638
mov rdx, qword [rdx + 8]
jmp 0x5cd646
mov rdi, qword [0x008a6a50]
mov rdx, qword [0x008a6a58]
mov word [rsp + 0x46], cx
mov rax, rdi
mov rbx, rdx
call fcn.005ef080
test rbx, rbx
jne 0x5cd797
mov qword [rsp + 0xe8], rax
call fcn.005640a0
mov qword [rsp + 0xc0], rax
lea rax, [0x00672c80]
nop dword [rax + rax]
call fcn.0040d480
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
cmp rdi, 0x85
ja 0x5cd6a8
mov rcx, rdi
mov edx, 0x85
jmp 0x5cd6e2
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x108], rbx
mov rbx, rdi
mov ecx, 0x85
lea rsi, [0x0066d1c0]
call fcn.00447aa0
mov rdx, rcx
mov rdi, rbx
mov rcx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x108]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0xb0], rax
call fcn.00460ba0
lea rax, [0x00672e00]
call fcn.0040d480
movzx edx, word [rsp + 0x46]
mov word [rax], dx
mov rdx, qword [rsp + 0x48]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rax + 0x18], rdx
cmp dword [0x0092d940], 0
jne 0x5cd73a
mov rdx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xe0]
jmp 0x5cd761
call fcn.0045fe60
mov rdx, qword [rsp + 0xb0]
mov qword [r11], rdx
mov qword [r11 + 8], rax
mov rsi, qword [rsp + 0xe0]
mov r8, qword [rsi + 0x190]
mov qword [r11 + 0x10], r8
mov qword [rax + 8], rdx
mov qword [rsi + 0x198], 1
mov qword [rsi + 0x1a0], 1
mov qword [rsi + 0x190], rax
mov rax, qword [rsp + 0x138]
mov rdx, rsi
mov rcx, qword [rsp + 0xe8]
jmp 0x5cd7e3
xor eax, eax
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
add rsp, 0x128
pop rbp
ret
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 0x30
lea rcx, [0x006d49ce]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00741740]
mov rdi, rax
xor eax, eax
add rsp, 0x128
pop rbp
nop
ret
xor ecx, ecx
cmp qword [rax + 0x20], 0
je 0x5cd865
mov qword [rsp + 0xe8], rcx
call fcn.005f1c80
test rdi, rdi
jne 0x5cd878
test rax, rax
mov edx, 0
cmovne rdx, rcx
mov esi, 0
cmovne rsi, rbx
mov r8, qword [rsp + 0xe0]
mov qword [r8 + 0x200], rsi
mov qword [r8 + 0x208], rdx
lea rdx, [0x0092d4c0]
cmovne rdx, rax
cmp dword [0x0092d940], 0
je 0x5cd853
nop dword [rax + rax]
call fcn.0045fe40
mov qword [r11], rdx
mov rsi, qword [r8 + 0x1f8]
mov qword [r11 + 8], rsi
mov qword [r8 + 0x1f8], rdx
mov rcx, qword [rsp + 0xe8]
mov rdx, r8
mov rax, rdx
mov rbx, rcx
xor ecx, ecx
xor edi, edi
add rsp, 0x128
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rdi
mov rdi, rsi
add rsp, 0x128
pop rbp
ret
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov ecx, 0x1b
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006cc63e]
call fcn.0044abe0
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0xf0], rax
lea rax, [0x006870a0]
call fcn.0040d480
mov rcx, qword [rsp + 0x80]
mov qword [rax + 8], rcx
cmp dword [0x0092d940], 0
jne 0x5cd8e8
mov rdx, qword [rsp + 0xf0]
jmp 0x5cd8f8
call fcn.0045fe20
mov rdx, qword [rsp + 0xf0]
mov qword [r11], rdx
mov qword [rax], rdx
xor ebx, ebx
lea rcx, [0x00741740]
mov rdi, rax
xor eax, eax
add rsp, 0x128
pop rbp
ret
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov ecx, 0x1b
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006cc63e]
call fcn.0044abe0
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xf8], rax
lea rax, [0x006870a0]
call fcn.0040d480
mov rcx, qword [rsp + 0x88]
mov qword [rax + 8], rcx
cmp dword [0x0092d940], 0
jne 0x5cd96f
mov rdx, qword [rsp + 0xf8]
jmp 0x5cd97f
call fcn.0045fe20
mov rdx, qword [rsp + 0xf8]
mov qword [r11], rdx
mov qword [rax], rdx
xor ebx, ebx
lea rcx, [0x00741740]
mov rdi, rax
xor eax, eax
add rsp, 0x128
pop rbp
ret
xor eax, eax
mov rcx, rax
nop
call fcn.004601e0
xor eax, eax
mov rcx, rax
call fcn.004601e0
inc rbx
cmp rdx, rbx
jle 0x5cd152
movzx r13d, word [r11 + rbx*2]
cmp r13w, r12w
jne 0x5cd9af
jmp 0x5cd13c
inc rsi
cmp rsi, rbx
jge 0x5cd9df
mov rdi, qword [r15 + rsi*8]
cmp word [rdi], r13w
jne 0x5cd9cb
jmp 0x5cd9e1
xor edi, edi
mov rbx, rdi
jmp 0x5cd154
mov qword [rsp + 8], rax
call fcn.0045df00
mov rax, qword [rsp + 8]
jmp fcn.005ccbc0